block: propagate partition scanning errors to the BLKRRPART ioctl
authorChristoph Hellwig <hch@lst.de>
Wed, 17 Apr 2024 14:47:43 +0000 (16:47 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 18 Apr 2024 15:34:34 +0000 (09:34 -0600)
commit752863bddacab6b5c5164b1df8c8b2e3a175ee28
tree8b160fd02307b3d55c312a3a582b1ae08986ae48
parent3ec4848913d695245716ea45ca4872d9dff097a5
block: propagate partition scanning errors to the BLKRRPART ioctl

Commit 4601b4b130de ("block: reopen the device in blkdev_reread_part")
lost the propagation of I/O errors from the low-level read of the
partition table to the user space caller of the BLKRRPART.

Apparently some user space relies on, so restore the propagation.  This
isn't exactly pretty as other block device open calls explicitly do not
are about these errors, so add a new BLK_OPEN_STRICT_SCAN to opt into
the error propagation.

Fixes: 4601b4b130de ("block: reopen the device in blkdev_reread_part")
Reported-by: Saranya Muruganandam <saranyamohan@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20240417144743.2277601-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bdev.c
block/ioctl.c
include/linux/blkdev.h