From patchwork Tue Aug 8 13:56:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Le Moal X-Patchwork-Id: 13346577 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6E90BC05052 for ; Tue, 8 Aug 2023 17:57:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231948AbjHHR5Z (ORCPT ); Tue, 8 Aug 2023 13:57:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229823AbjHHR4q (ORCPT ); Tue, 8 Aug 2023 13:56:46 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10F17BF57C for ; Tue, 8 Aug 2023 09:25:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7F3E86237E for ; Tue, 8 Aug 2023 13:57:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90529C433C7; Tue, 8 Aug 2023 13:57:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691503024; bh=Lzsg1DbcdMpSBtuF1sBjXJJgfjAquf8gIoL8FIwzV/Q=; h=From:To:Subject:Date:In-Reply-To:References:From; b=UltWsrzB7Okj6k13VzOJPyMPLe37HnxcQZ90d/BaWqotNrvemCdA3Te9LuH0I++4j UxiyC/saI1jEwvLG0VSHotBAEGKglJszyD2g5p9UttXOYWzdeQMdEn3HkUfTjmN/U9 eNWuohYW0uvgopS2tjFtxi4yJMKrCKo4h+2JqW7O7gWgXM+4I3PMHFe7QAsEJnYNfP 1VlL+baW8zsGC5jgDr4RarRd7KexnL/kQaZ33PaJ4aiYKwAaDlw1IMUus+8IfXflSh 1DEvhEUYWsNtHMYiA8hkLR/u+TzVcdMq2i/6gYToxSe+hmGTZzz6V1ygkBL1VY/b9C iGKzC84M9ucCQ== From: Damien Le Moal To: Jens Axboe , linux-block@vger.kernel.org Subject: [PATCH 1/5] block: use PAGE_SECTORS_SHIFT to set limits Date: Tue, 8 Aug 2023 22:56:58 +0900 Message-ID: <20230808135702.628588-2-dlemoal@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808135702.628588-1-dlemoal@kernel.org> References: <20230808135702.628588-1-dlemoal@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Replace occurences of "PAGE_SHIFT - 9" in blk-settings.c with the cleaner PAGE_SECTORS_SHIFT macro. Signed-off-by: Damien Le Moal Reviewed-by: Chaitanya Kulkarni Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn --- block/blk-settings.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/blk-settings.c b/block/blk-settings.c index 0046b447268f..5e2dbd34436b 100644 --- a/block/blk-settings.c +++ b/block/blk-settings.c @@ -126,7 +126,7 @@ void blk_queue_max_hw_sectors(struct request_queue *q, unsigned int max_hw_secto unsigned int max_sectors; if ((max_hw_sectors << 9) < PAGE_SIZE) { - max_hw_sectors = 1 << (PAGE_SHIFT - 9); + max_hw_sectors = 1 << PAGE_SECTORS_SHIFT; printk(KERN_INFO "%s: set to minimum %d\n", __func__, max_hw_sectors); } @@ -148,7 +148,7 @@ void blk_queue_max_hw_sectors(struct request_queue *q, unsigned int max_hw_secto if (!q->disk) return; - q->disk->bdi->io_pages = max_sectors >> (PAGE_SHIFT - 9); + q->disk->bdi->io_pages = max_sectors >> PAGE_SECTORS_SHIFT; } EXPORT_SYMBOL(blk_queue_max_hw_sectors); @@ -398,7 +398,7 @@ void disk_update_readahead(struct gendisk *disk) */ disk->bdi->ra_pages = max(queue_io_opt(q) * 2 / PAGE_SIZE, VM_READAHEAD_PAGES); - disk->bdi->io_pages = queue_max_sectors(q) >> (PAGE_SHIFT - 9); + disk->bdi->io_pages = queue_max_sectors(q) >> PAGE_SECTORS_SHIFT; } EXPORT_SYMBOL_GPL(disk_update_readahead); From patchwork Tue Aug 8 13:56:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Le Moal X-Patchwork-Id: 13346578 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4A547C04FDF for ; Tue, 8 Aug 2023 17:57:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234816AbjHHR5a (ORCPT ); Tue, 8 Aug 2023 13:57:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235236AbjHHR5G (ORCPT ); Tue, 8 Aug 2023 13:57:06 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 248002AF3D for ; Tue, 8 Aug 2023 09:25:55 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 31E346257F for ; Tue, 8 Aug 2023 13:57:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C150C433C9; Tue, 8 Aug 2023 13:57:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691503025; bh=q0UMnLgh+qnvgb/WpUXo/mLo5zZmtaZJkd+8lzC+LP0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=MOtds5O1sqJFMWHw4xUNhkjbslLg0PHbungJSTDVOz9p01G4VMr1v/6aj3UjMudg/ 2KA0nge7GdIQJtW12yGJu8/opKcQmzLIMkR1GEvrAJnO6s6bCDbH9TGx60t8YBGw+k C9qx/5OQn7WbkIARwbjfpp1pa+3jWmV7WjKyLtrVbOh6w26uCMCNaUB3R2FFUryR33 cH67SSjGUkqDJZVx4uw3/efThMB+NpM+oBb1Qo3Z4a0z8Bngo7SC0XUkx5/O2tF9od KeVAozKFvZGBCihQLb+L2GKR3G+iP574P6ovyXtmT501rTk86C87NE6EL5GUNkQxeO BslOrL9SYnMMA== From: Damien Le Moal To: Jens Axboe , linux-block@vger.kernel.org Subject: [PATCH 2/5] block: use pr_xxx() instead of printk() Date: Tue, 8 Aug 2023 22:56:59 +0900 Message-ID: <20230808135702.628588-3-dlemoal@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808135702.628588-1-dlemoal@kernel.org> References: <20230808135702.628588-1-dlemoal@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Replace the remaining calls to printk() in the block layer core code with the equivalent pr_info(), pr_err() etc calls. The early block device lookup code in early-lookup.c is left untouched and continues using raw printk() calls. Signed-off-by: Damien Le Moal Reviewed-by: Chaitanya Kulkarni Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn --- block/bio-integrity.c | 11 +++++++---- block/blk-ioc.c | 5 ++++- block/blk-mq.c | 25 ++++++++++++++----------- block/blk-settings.c | 19 +++++++++++-------- block/bsg.c | 7 +++++-- block/elevator.c | 5 ++++- block/genhd.c | 7 +++++-- 7 files changed, 50 insertions(+), 29 deletions(-) diff --git a/block/bio-integrity.c b/block/bio-integrity.c index 045553a164e0..a2b5213d1ae8 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -14,6 +14,9 @@ #include #include "blk.h" +#undef pr_fmt +#define pr_fmt(fmt) "bio-integrity: " fmt + static struct kmem_cache *bip_slab; static struct workqueue_struct *kintegrityd_wq; @@ -126,7 +129,7 @@ int bio_integrity_add_page(struct bio *bio, struct page *page, struct bio_integrity_payload *bip = bio_integrity(bio); if (bip->bip_vcnt >= bip->bip_max_vcnt) { - printk(KERN_ERR "%s: bip_vec full\n", __func__); + pr_err("%s: bip_vec full\n", __func__); return 0; } @@ -227,7 +230,7 @@ bool bio_integrity_prep(struct bio *bio) len = bio_integrity_bytes(bi, bio_sectors(bio)); buf = kmalloc(len, GFP_NOIO); if (unlikely(buf == NULL)) { - printk(KERN_ERR "could not allocate integrity buffer\n"); + pr_err("could not allocate integrity buffer\n"); goto err_end_io; } @@ -238,7 +241,7 @@ bool bio_integrity_prep(struct bio *bio) /* Allocate bio integrity payload and integrity vectors */ bip = bio_integrity_alloc(bio, GFP_NOIO, nr_pages); if (IS_ERR(bip)) { - printk(KERN_ERR "could not allocate data integrity bioset\n"); + pr_err("could not allocate data integrity bioset\n"); kfree(buf); goto err_end_io; } @@ -266,7 +269,7 @@ bool bio_integrity_prep(struct bio *bio) bytes, offset); if (ret == 0) { - printk(KERN_ERR "could not attach integrity payload\n"); + pr_err("could not attach integrity payload\n"); goto err_end_io; } diff --git a/block/blk-ioc.c b/block/blk-ioc.c index 25dd4db11121..b1c17b56396c 100644 --- a/block/blk-ioc.c +++ b/block/blk-ioc.c @@ -14,6 +14,9 @@ #include "blk.h" #include "blk-mq-sched.h" +#undef pr_fmt +#define pr_fmt(fmt) "blk-ioc: " fmt + /* * For io context allocations */ @@ -395,7 +398,7 @@ static struct io_cq *ioc_create_icq(struct request_queue *q) kmem_cache_free(et->icq_cache, icq); icq = ioc_lookup_icq(q); if (!icq) - printk(KERN_ERR "cfq: icq link failed!\n"); + pr_err("icq link failed!\n"); } spin_unlock(&ioc->lock); diff --git a/block/blk-mq.c b/block/blk-mq.c index f14b8669ac69..26eb36e3e12e 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -42,6 +42,9 @@ #include "blk-rq-qos.h" #include "blk-ioprio.h" +#undef pr_fmt +#define pr_fmt(fmt) "blk-mq: " fmt + static DEFINE_PER_CPU(struct llist_head, blk_cpu_done); static DEFINE_PER_CPU(call_single_data_t, blk_cpu_csd); @@ -733,15 +736,15 @@ void blk_mq_free_plug_rqs(struct blk_plug *plug) void blk_dump_rq_flags(struct request *rq, char *msg) { - printk(KERN_INFO "%s: dev %s: flags=%llx\n", msg, + pr_info("%s: dev %s: flags=%llx\n", msg, rq->q->disk ? rq->q->disk->disk_name : "?", (__force unsigned long long) rq->cmd_flags); - printk(KERN_INFO " sector %llu, nr/cnr %u/%u\n", - (unsigned long long)blk_rq_pos(rq), - blk_rq_sectors(rq), blk_rq_cur_sectors(rq)); - printk(KERN_INFO " bio %p, biotail %p, len %u\n", - rq->bio, rq->biotail, blk_rq_bytes(rq)); + pr_info(" sector %llu, nr/cnr %u/%u\n", + (unsigned long long)blk_rq_pos(rq), + blk_rq_sectors(rq), blk_rq_cur_sectors(rq)); + pr_info(" bio %p, biotail %p, len %u\n", + rq->bio, rq->biotail, blk_rq_bytes(rq)); } EXPORT_SYMBOL(blk_dump_rq_flags); @@ -783,7 +786,7 @@ static void blk_account_io_completion(struct request *req, unsigned int bytes) static void blk_print_req_error(struct request *req, blk_status_t status) { - printk_ratelimited(KERN_ERR + pr_err_ratelimited( "%s error, dev %s, sector %llu op 0x%x:(%s) flags 0x%x " "phys_seg %u prio class %u\n", blk_status_to_str(status), @@ -3032,8 +3035,8 @@ blk_status_t blk_insert_cloned_request(struct request *rq) if (max_sectors == 0) return BLK_STS_NOTSUPP; - printk(KERN_ERR "%s: over max size limit. (%u > %u)\n", - __func__, blk_rq_sectors(rq), max_sectors); + pr_err("%s: over max size limit. (%u > %u)\n", + __func__, blk_rq_sectors(rq), max_sectors); return BLK_STS_IOERR; } @@ -3043,8 +3046,8 @@ blk_status_t blk_insert_cloned_request(struct request *rq) */ rq->nr_phys_segments = blk_recalc_rq_segments(rq); if (rq->nr_phys_segments > max_segments) { - printk(KERN_ERR "%s: over max segments limit. (%u > %u)\n", - __func__, rq->nr_phys_segments, max_segments); + pr_err("%s: over max segments limit. (%u > %u)\n", + __func__, rq->nr_phys_segments, max_segments); return BLK_STS_IOERR; } diff --git a/block/blk-settings.c b/block/blk-settings.c index 5e2dbd34436b..25d119187eab 100644 --- a/block/blk-settings.c +++ b/block/blk-settings.c @@ -19,6 +19,9 @@ #include "blk-rq-qos.h" #include "blk-wbt.h" +#undef pr_fmt +#define pr_fmt(fmt) "blk-settings: " fmt + void blk_queue_rq_timeout(struct request_queue *q, unsigned int timeout) { q->rq_timeout = timeout; @@ -127,8 +130,8 @@ void blk_queue_max_hw_sectors(struct request_queue *q, unsigned int max_hw_secto if ((max_hw_sectors << 9) < PAGE_SIZE) { max_hw_sectors = 1 << PAGE_SECTORS_SHIFT; - printk(KERN_INFO "%s: set to minimum %d\n", - __func__, max_hw_sectors); + pr_info("Set max_hw_sectors to minimum %u\n", + max_hw_sectors); } max_hw_sectors = round_down(max_hw_sectors, @@ -248,8 +251,8 @@ void blk_queue_max_segments(struct request_queue *q, unsigned short max_segments { if (!max_segments) { max_segments = 1; - printk(KERN_INFO "%s: set to minimum %d\n", - __func__, max_segments); + pr_info("Set max_segments to minimum %u\n", + max_segments); } q->limits.max_segments = max_segments; @@ -285,8 +288,8 @@ void blk_queue_max_segment_size(struct request_queue *q, unsigned int max_size) { if (max_size < PAGE_SIZE) { max_size = PAGE_SIZE; - printk(KERN_INFO "%s: set to minimum %d\n", - __func__, max_size); + pr_info("Set max_segment_size to minimum %u\n", + max_size); } /* see blk_queue_virt_boundary() for the explanation */ @@ -740,8 +743,8 @@ void blk_queue_segment_boundary(struct request_queue *q, unsigned long mask) { if (mask < PAGE_SIZE - 1) { mask = PAGE_SIZE - 1; - printk(KERN_INFO "%s: set to minimum %lx\n", - __func__, mask); + pr_info("Set segment_boundary to minimum %lx\n", + mask); } q->limits.seg_boundary_mask = mask; diff --git a/block/bsg.c b/block/bsg.c index 72157a59b788..298fe90923b8 100644 --- a/block/bsg.c +++ b/block/bsg.c @@ -17,6 +17,9 @@ #include #include +#undef pr_fmt +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + #define BSG_DESCRIPTION "Block layer SCSI generic (bsg) driver" #define BSG_VERSION "0.4" @@ -261,8 +264,8 @@ static int __init bsg_init(void) goto destroy_bsg_class; bsg_major = MAJOR(devid); - printk(KERN_INFO BSG_DESCRIPTION " version " BSG_VERSION - " loaded (major %d)\n", bsg_major); + pr_info(BSG_DESCRIPTION " version " BSG_VERSION + " loaded (major %d)\n", bsg_major); return 0; destroy_bsg_class: diff --git a/block/elevator.c b/block/elevator.c index 8400e303fbcb..3b7ec9fb1abf 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -45,6 +45,9 @@ #include "blk-wbt.h" #include "blk-cgroup.h" +#undef pr_fmt +#define pr_fmt(fmt) "elevator: " fmt + static DEFINE_SPINLOCK(elv_list_lock); static LIST_HEAD(elv_list); @@ -527,7 +530,7 @@ int elv_register(struct elevator_type *e) list_add_tail(&e->list, &elv_list); spin_unlock(&elv_list_lock); - printk(KERN_INFO "io scheduler %s registered\n", e->elevator_name); + pr_info("io scheduler %s registered\n", e->elevator_name); return 0; } diff --git a/block/genhd.c b/block/genhd.c index 3d287b32d50d..4653d94b1751 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -33,6 +33,9 @@ #include "blk-rq-qos.h" #include "blk-cgroup.h" +#undef pr_fmt +#define pr_fmt(fmt) "genhd: " fmt + static struct kobject *block_depr; /* @@ -227,7 +230,7 @@ int __register_blkdev(unsigned int major, const char *name, } if (index == 0) { - printk("%s: failed to get major for %s\n", + pr_err("%s: Failed to get major for %s\n", __func__, name); ret = -EBUSY; goto out; @@ -270,7 +273,7 @@ int __register_blkdev(unsigned int major, const char *name, spin_unlock(&major_names_spinlock); if (ret < 0) { - printk("register_blkdev: cannot get major %u for %s\n", + pr_err("register_blkdev: cannot get major %u for %s\n", major, name); kfree(p); } From patchwork Tue Aug 8 13:57:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Le Moal X-Patchwork-Id: 13346576 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB376C04FDF for ; Tue, 8 Aug 2023 17:57:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231282AbjHHR5Y (ORCPT ); Tue, 8 Aug 2023 13:57:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231622AbjHHR4o (ORCPT ); Tue, 8 Aug 2023 13:56:44 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 591FBBF578 for ; Tue, 8 Aug 2023 09:25:38 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D30B76258A for ; Tue, 8 Aug 2023 13:57:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB3EDC433C7; Tue, 8 Aug 2023 13:57:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691503026; bh=tekpDzIIoVtpZfhdGaJlEA0RE3MJMMI24t/ChXijMOs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=GOWHYn1ICH7NtEP+pxwA+p4wmMWLphy8QKQp4E0Z+VyqcqRPzy7S6aQLDQenMMC9q /UFPCxCuLBQjv3BB8aN0S6sEmS3xSXePZYOnkepRWP1JKB2Gb/qwEtmcpGtSeS7yHR 8KgmEIi2nBulSjk68brSbvmz+0/DL387nmISbpNkIWt2lWLVaxe7KHFZWLJIN1hnOU S1tPja8iYfqCtSz6d0mzUsA4vBKuaNK+GxjAhZ2nfGtlAAIA+gUByg1RZ1ciLVsTh0 Djh4QwRZdhF5mRGuyOruUjJEvNHinaLTnTNAtuxTBgzKILAcqmVMdjvZjzcXHIXaga is/rVkeN6Bl/Q== From: Damien Le Moal To: Jens Axboe , linux-block@vger.kernel.org Subject: [PATCH 3/5] block: use pr_xxx() instead of printk() in partition code Date: Tue, 8 Aug 2023 22:57:00 +0900 Message-ID: <20230808135702.628588-4-dlemoal@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808135702.628588-1-dlemoal@kernel.org> References: <20230808135702.628588-1-dlemoal@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Replace calls to printk() in the core, atari, efi and sun partition code with the equivalent pr_info(), pr_err() etc calls. For each partition type, the pr_fmt message prefix is defined as "partition: xxx: " where "xxx" is the partition type name. Signed-off-by: Damien Le Moal Reviewed-by: Chaitanya Kulkarni Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn --- block/partitions/atari.c | 11 +++++++---- block/partitions/check.h | 1 + block/partitions/core.c | 33 ++++++++++++++++----------------- block/partitions/sgi.c | 7 +++++-- block/partitions/sun.c | 5 ++++- 5 files changed, 33 insertions(+), 24 deletions(-) diff --git a/block/partitions/atari.c b/block/partitions/atari.c index 9655c728262a..e48eec5b9fd0 100644 --- a/block/partitions/atari.c +++ b/block/partitions/atari.c @@ -12,6 +12,9 @@ #include "check.h" #include "atari.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: atari: " fmt + /* ++guenther: this should be settable by the user ("make config")?. */ #define ICD_PARTS @@ -94,14 +97,14 @@ int atari_partition(struct parsed_partitions *state) while (1) { xrs = read_part_sector(state, partsect, §2); if (!xrs) { - printk (" block %ld read failed\n", partsect); + pr_err(" block %ld read failed\n", partsect); put_dev_sector(sect); return -1; } /* ++roman: sanity check: bit 0 of flg field must be set */ if (!(xrs->part[0].flg & 1)) { - printk( "\nFirst sub-partition in extended partition is not valid!\n" ); + pr_err("\nFirst sub-partition in extended partition is not valid!\n"); put_dev_sector(sect2); break; } @@ -116,7 +119,7 @@ int atari_partition(struct parsed_partitions *state) break; } if (memcmp( xrs->part[1].id, "XGM", 3 ) != 0) { - printk("\nID of extended partition is not XGM!\n"); + pr_err("\nID of extended partition is not XGM!\n"); put_dev_sector(sect2); break; } @@ -124,7 +127,7 @@ int atari_partition(struct parsed_partitions *state) partsect = be32_to_cpu(xrs->part[1].st) + extensect; put_dev_sector(sect2); if (++slot == state->limit) { - printk( "\nMaximum number of partitions reached!\n" ); + pr_err("\nMaximum number of partitions reached!\n"); break; } } diff --git a/block/partitions/check.h b/block/partitions/check.h index 8d70a880c372..33c065339edc 100644 --- a/block/partitions/check.h +++ b/block/partitions/check.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ #include #include +#include #include "../blk.h" /* diff --git a/block/partitions/core.c b/block/partitions/core.c index 13a7341299a9..fcf0cf321350 100644 --- a/block/partitions/core.c +++ b/block/partitions/core.c @@ -12,6 +12,9 @@ #include #include "check.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: " fmt + static int (*const check_part[])(struct parsed_partitions *) = { /* * Probe partition formats with tables at disk address 0 @@ -147,8 +150,7 @@ static struct parsed_partitions *check_partition(struct gendisk *hd) } if (res > 0) { - printk(KERN_INFO "%s", state->pp_buf); - + pr_info("%s", state->pp_buf); free_page((unsigned long)state->pp_buf); return state; } @@ -162,7 +164,7 @@ static struct parsed_partitions *check_partition(struct gendisk *hd) if (res) { strlcat(state->pp_buf, " unable to read partition table\n", PAGE_SIZE); - printk(KERN_INFO "%s", state->pp_buf); + pr_info("%s", state->pp_buf); } free_page((unsigned long)state->pp_buf); @@ -526,11 +528,11 @@ static bool disk_unlock_native_capacity(struct gendisk *disk) { if (!disk->fops->unlock_native_capacity || test_and_set_bit(GD_NATIVE_CAPACITY, &disk->state)) { - printk(KERN_CONT "truncated\n"); + pr_cont("truncated\n"); return false; } - printk(KERN_CONT "enabling native capacity\n"); + pr_cont("enabling native capacity\n"); disk->fops->unlock_native_capacity(disk); return true; } @@ -546,18 +548,16 @@ static bool blk_add_partition(struct gendisk *disk, return true; if (from >= get_capacity(disk)) { - printk(KERN_WARNING - "%s: p%d start %llu is beyond EOD, ", - disk->disk_name, p, (unsigned long long) from); + pr_warn("%s: p%d start %llu is beyond EOD, ", + disk->disk_name, p, (unsigned long long) from); if (disk_unlock_native_capacity(disk)) return false; return true; } if (from + size > get_capacity(disk)) { - printk(KERN_WARNING - "%s: p%d size %llu extends beyond EOD, ", - disk->disk_name, p, (unsigned long long) size); + pr_warn("%s: p%d size %llu extends beyond EOD, ", + disk->disk_name, p, (unsigned long long) size); if (disk_unlock_native_capacity(disk)) return false; @@ -573,7 +573,7 @@ static bool blk_add_partition(struct gendisk *disk, part = add_partition(disk, p, from, size, state->parts[p].flags, &state->parts[p].info); if (IS_ERR(part) && PTR_ERR(part) != -ENXIO) { - printk(KERN_ERR " %s: p%d could not be added: %ld\n", + pr_err(" %s: p%d could not be added: %ld\n", disk->disk_name, p, -PTR_ERR(part)); return true; } @@ -605,8 +605,8 @@ static int blk_add_partitions(struct gendisk *disk) * beyond EOD, retry after unlocking the native capacity. */ if (PTR_ERR(state) == -ENOSPC) { - printk(KERN_WARNING "%s: partition table beyond EOD, ", - disk->disk_name); + pr_warn("%s: partition table beyond EOD, ", + disk->disk_name); if (disk_unlock_native_capacity(disk)) return -EAGAIN; } @@ -629,9 +629,8 @@ static int blk_add_partitions(struct gendisk *disk) * partitions. */ if (state->access_beyond_eod) { - printk(KERN_WARNING - "%s: partition table partially beyond EOD, ", - disk->disk_name); + pr_warn("%s: partition table partially beyond EOD, ", + disk->disk_name); if (disk_unlock_native_capacity(disk)) goto out_free_state; } diff --git a/block/partitions/sgi.c b/block/partitions/sgi.c index 9cc6b8c1eea4..598d3480aaeb 100644 --- a/block/partitions/sgi.c +++ b/block/partitions/sgi.c @@ -7,6 +7,9 @@ #include "check.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: sgi: " fmt + #define SGI_LABEL_MAGIC 0x0be5a941 enum { @@ -61,8 +64,8 @@ int sgi_partition(struct parsed_partitions *state) csum += be32_to_cpu(cs); } if(csum) { - printk(KERN_WARNING "Dev %s SGI disklabel: csum bad, label corrupted\n", - state->disk->disk_name); + pr_warn("Dev %s SGI disklabel: csum bad, label corrupted\n", + state->disk->disk_name); put_dev_sector(sect); return 0; } diff --git a/block/partitions/sun.c b/block/partitions/sun.c index ddf9e6def4b2..ca3e57f63938 100644 --- a/block/partitions/sun.c +++ b/block/partitions/sun.c @@ -10,6 +10,9 @@ #include "check.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: sun: " fmt + #define SUN_LABEL_MAGIC 0xDABE #define SUN_VTOC_SANITY 0x600DDEEE @@ -84,7 +87,7 @@ int sun_partition(struct parsed_partitions *state) for (csum = 0; ush >= ((__be16 *) label);) csum ^= *ush--; if (csum) { - printk("Dev %s Sun disklabel: Csum bad, label corrupted\n", + pr_err("Dev %s Sun disklabel: Csum bad, label corrupted\n", state->disk->disk_name); put_dev_sector(sect); return 0; From patchwork Tue Aug 8 13:57:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Le Moal X-Patchwork-Id: 13346579 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50D2FC001DB for ; Tue, 8 Aug 2023 17:59:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232829AbjHHR7n (ORCPT ); Tue, 8 Aug 2023 13:59:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233986AbjHHR7Q (ORCPT ); Tue, 8 Aug 2023 13:59:16 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48E1F2CC6E for ; Tue, 8 Aug 2023 09:27:00 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 891656258C for ; Tue, 8 Aug 2023 13:57:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 85DC9C433C9; Tue, 8 Aug 2023 13:57:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691503026; bh=w7Y2xPFH5gXXKwUA3NGRtJVk+zfqAzoQ45e4ECd0wI4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=TbDnCOO8kWotQJLhZBSr6EEqhcMjQP5DTpTvuqY5P1rN+eypJmxGBN6TYO2DwkydL X6gTKrFgVT+v8/tZrg/mszS0Ry/ZP/V07C4quAiltFhdkynFDvqxywl9GFlzXt0xjY rlpQpD3IpfgTQelMRSnlCXdfjFGvoTwfgerr56nUDys/LnwRR/jGKKycoiiNYiEsEG p+49G2Rt1e90rHRCO5hNPxNLcEkcpTFCnoaZh1DkMfQV/+2S2CVbyWP8Q0AearXU3i 6CC19//+i9S+2P1ZoT2CwhaQKUnJKXnkkngBZ9eZ5SANQG8diuU5TiGV2AYJNxwTHN Ds1QKmSDAijUw== From: Damien Le Moal To: Jens Axboe , linux-block@vger.kernel.org Subject: [PATCH 4/5] block: Improve efi partition debug messages Date: Tue, 8 Aug 2023 22:57:01 +0900 Message-ID: <20230808135702.628588-5-dlemoal@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808135702.628588-1-dlemoal@kernel.org> References: <20230808135702.628588-1-dlemoal@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Add the missing definition of pr_fmt to prefix the debug messages from partitions/efi.c with "partition: efi: ". Signed-off-by: Damien Le Moal Reviewed-by: Chaitanya Kulkarni Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn --- block/partitions/efi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/partitions/efi.c b/block/partitions/efi.c index 5e9be13a56a8..33fe70282e38 100644 --- a/block/partitions/efi.c +++ b/block/partitions/efi.c @@ -90,6 +90,9 @@ #include "check.h" #include "efi.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: efi: " fmt + /* This allows a kernel command line option 'gpt' to override * the test for invalid PMBR. Not __initdata because reloading * the partition tables happens after init too. From patchwork Tue Aug 8 13:57:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damien Le Moal X-Patchwork-Id: 13346568 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D0D6C04A6A for ; Tue, 8 Aug 2023 17:56:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235111AbjHHR4T (ORCPT ); Tue, 8 Aug 2023 13:56:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230513AbjHHRzs (ORCPT ); Tue, 8 Aug 2023 13:55:48 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70AC1298AE for ; Tue, 8 Aug 2023 09:25:15 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2B7F961D9E for ; Tue, 8 Aug 2023 13:57:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C17FC433C8; Tue, 8 Aug 2023 13:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691503027; bh=ptKGcj+Hv+g5fxFGLRoGbRY5wCMXFJQrJ7vGDW5yqdU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=bHKUoO4QK+Q/CDLxaofvtOGTg8zC5zWfq4nmRarquIz0r4KbQsaSYQcM/G6fMzE3S WM067B6cntOLpQNKtoe2MuqQiX31IQhQTOjPofeTfJarfEIdWAUI2sobYBt41hoLOm Tv4e4QbSyW4t4TBREfXCfrD18KSlp/4/3kN9Ht/3TM5DbyaZsgxEbLPJ/YiacS0Uba m2a4qoPxKqPFhH3x61AxhcfkIMJ0tWVTmJ4JAzG9me99Mi6POgHfWhlFgSiJ2Pr8/Q wGVlsNMB2FI5b6dspnpOIwjaHNcd0l66kgE+VCOa4OZJnUZdqLVpWlTZ5ijk7NcH2p cNzkTOB02IaPw== From: Damien Le Moal To: Jens Axboe , linux-block@vger.kernel.org Subject: [PATCH 5/5] block: switch ldm partition code to use pr_xxx() functions Date: Tue, 8 Aug 2023 22:57:02 +0900 Message-ID: <20230808135702.628588-6-dlemoal@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808135702.628588-1-dlemoal@kernel.org> References: <20230808135702.628588-1-dlemoal@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Modify the ldm partition code to use the regular pr_info(), pr_err() etc functions instead of using printk(). With this change, the function _ldm_printk() is not necessary and removed. The special LDM_DEBUG configuration option is also removed as regular dynamic debug control can be used to turn on or off the debug messages. References to this configuration option is removed from the documentation and from the m68k defconfig. Signed-off-by: Damien Le Moal Reviewed-by: Chaitanya Kulkarni Reviewed-by: Hannes Reinecke --- Documentation/admin-guide/ldm.rst | 7 +++---- arch/m68k/configs/virt_defconfig | 1 - block/partitions/Kconfig | 10 --------- block/partitions/ldm.c | 35 +++++++------------------------ 4 files changed, 10 insertions(+), 43 deletions(-) diff --git a/Documentation/admin-guide/ldm.rst b/Documentation/admin-guide/ldm.rst index 12c571368e73..e7b69a03e938 100644 --- a/Documentation/admin-guide/ldm.rst +++ b/Documentation/admin-guide/ldm.rst @@ -80,10 +80,9 @@ To enable LDM, choose the following two options: - "Advanced partition selection" CONFIG_PARTITION_ADVANCED - "Windows Logical Disk Manager (Dynamic Disk) support" CONFIG_LDM_PARTITION -If you believe the driver isn't working as it should, you can enable the extra -debugging code. This will produce a LOT of output. The option is: - - - "Windows LDM extra logging" CONFIG_LDM_DEBUG +If you believe the driver isn't working as it should, you can enable extra +debugging messages using dynamic debug. This will produce a LOT of output. +See Documentation/admin-guide/dynamic-debug-howto.rst for details. N.B. The partition code cannot be compiled as a module. diff --git a/arch/m68k/configs/virt_defconfig b/arch/m68k/configs/virt_defconfig index 311b57e73316..94dd334da74f 100644 --- a/arch/m68k/configs/virt_defconfig +++ b/arch/m68k/configs/virt_defconfig @@ -19,7 +19,6 @@ CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y CONFIG_LDM_PARTITION=y -CONFIG_LDM_DEBUG=y CONFIG_SUN_PARTITION=y CONFIG_SYSV68_PARTITION=y CONFIG_NET=y diff --git a/block/partitions/Kconfig b/block/partitions/Kconfig index 7aff4eb81c60..71e4461fc35d 100644 --- a/block/partitions/Kconfig +++ b/block/partitions/Kconfig @@ -200,16 +200,6 @@ config LDM_PARTITION If unsure, say N. -config LDM_DEBUG - bool "Windows LDM extra logging" - depends on LDM_PARTITION - help - Say Y here if you would like LDM to log verbosely. This could be - helpful if the driver doesn't work as expected and you'd like to - report a bug. - - If unsure, say N. - config SGI_PARTITION bool "SGI partition support" if PARTITION_ADVANCED default y if DEFAULT_SGI_PARTITION diff --git a/block/partitions/ldm.c b/block/partitions/ldm.c index 38e58960ae03..691908c8c8f3 100644 --- a/block/partitions/ldm.c +++ b/block/partitions/ldm.c @@ -19,39 +19,18 @@ #include "ldm.h" #include "check.h" +#undef pr_fmt +#define pr_fmt(fmt) "partition: ldm: " fmt + /* * ldm_debug/info/error/crit - Output an error message * @f: A printf format string containing the message * @...: Variables to substitute into @f - * - * ldm_debug() writes a DEBUG level message to the syslog but only if the - * driver was compiled with debug enabled. Otherwise, the call turns into a NOP. */ -#ifndef CONFIG_LDM_DEBUG -#define ldm_debug(...) do {} while (0) -#else -#define ldm_debug(f, a...) _ldm_printk (KERN_DEBUG, __func__, f, ##a) -#endif - -#define ldm_crit(f, a...) _ldm_printk (KERN_CRIT, __func__, f, ##a) -#define ldm_error(f, a...) _ldm_printk (KERN_ERR, __func__, f, ##a) -#define ldm_info(f, a...) _ldm_printk (KERN_INFO, __func__, f, ##a) - -static __printf(3, 4) -void _ldm_printk(const char *level, const char *function, const char *fmt, ...) -{ - struct va_format vaf; - va_list args; - - va_start (args, fmt); - - vaf.fmt = fmt; - vaf.va = &args; - - printk("%s%s(): %pV\n", level, function, &vaf); - - va_end(args); -} +#define ldm_debug(f, a...) pr_debug("%s(): " f, __func__, ##a) +#define ldm_crit(f, a...) pr_crit("%s(): " f, __func__, ##a) +#define ldm_error(f, a...) pr_err("%s(): " f, __func__, ##a) +#define ldm_info(f, a...) pr_info("%s(): " f, __func__, ##a) /** * ldm_parse_privhead - Read the LDM Database PRIVHEAD structure