From: Kristian Klausen Date: Fri, 18 Jun 2021 11:51:57 +0000 (+0200) Subject: loop: Fix missing discard support when using LOOP_CONFIGURE X-Git-Tag: v5.14-rc1~127^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b9ac22b12a266eb4fec246a07b504dd4983b16b;p=thirdparty%2Fkernel%2Flinux.git loop: Fix missing discard support when using LOOP_CONFIGURE Without calling loop_config_discard() the discard flag and parameters aren't set/updated for the loop device and worst-case they could indicate discard support when it isn't the case (ex: if the LOOP_SET_STATUS ioctl was used with a different file prior to LOOP_CONFIGURE). Cc: # 5.8.x- Fixes: 3448914e8cc5 ("loop: Add LOOP_CONFIGURE ioctl") Signed-off-by: Kristian Klausen Link: https://lore.kernel.org/r/20210618115157.31452-1-kristian@klausen.dk Signed-off-by: Jens Axboe --- diff --git a/drivers/block/loop.c b/drivers/block/loop.c index d58d68f3c7cd0..fda071fae541e 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1154,6 +1154,7 @@ static int loop_configure(struct loop_device *lo, fmode_t mode, blk_queue_physical_block_size(lo->lo_queue, bsize); blk_queue_io_min(lo->lo_queue, bsize); + loop_config_discard(lo); loop_update_rotational(lo); loop_update_dio(lo); loop_sysfs_init(lo);