block: fix and cleanup bio_check_ro
authorChristoph Hellwig <hch@lst.de>
Fri, 4 Mar 2022 18:00:56 +0000 (19:00 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 7 Mar 2022 13:42:33 +0000 (06:42 -0700)
Don't use a WARN_ON when printing a potentially user triggered
condition.  Also don't print the partno when the block device name
already includes it, and use the %pg specifier to simplify printing
the block device name.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20220304180105.409765-2-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c

index 94bf37f8e61d26ac2274d16efd4d23908942ce63..34e1b7fdb7c89ce159b618c934732ae68b587cff 100644 (file)
@@ -580,14 +580,10 @@ late_initcall(fail_make_request_debugfs);
 static inline bool bio_check_ro(struct bio *bio)
 {
        if (op_is_write(bio_op(bio)) && bdev_read_only(bio->bi_bdev)) {
-               char b[BDEVNAME_SIZE];
-
                if (op_is_flush(bio->bi_opf) && !bio_sectors(bio))
                        return false;
-
-               WARN_ONCE(1,
-                      "Trying to write to read-only block-device %s (partno %d)\n",
-                       bio_devname(bio, b), bio->bi_bdev->bd_partno);
+               pr_warn("Trying to write to read-only block-device %pg\n",
+                       bio->bi_bdev);
                /* Older lvm-tools actually trigger this */
                return false;
        }