linux/zvol_os.c: Fix max_discard_sectors limit for 6.8+ kernel
In kernels 6.8 and later, the zvol block device is allocated with qlimits passed during initialization. However, the zvol driver does not set `max_hw_discard_sectors`, which is necessary to properly initialize `max_discard_sectors`. This causes the `zvol_misc_trim` test to fail on 6.8+ kernels when invoking the `blkdiscard` command. Setting `max_hw_discard_sectors` in the `HAVE_BLK_ALLOC_DISK_2ARG` case resolve the issue. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Rob Norris <robn@despairlabs.com> Signed-off-by: Ameer Hamza <ahamza@ixsystems.com> Closes #16462
This commit is contained in:
parent
859f906a4b
commit
0f9457d1dd
|
@ -1169,6 +1169,7 @@ zvol_queue_limits_convert(zvol_queue_limits_t *limits,
|
||||||
qlimits->io_opt = limits->zql_io_opt;
|
qlimits->io_opt = limits->zql_io_opt;
|
||||||
qlimits->physical_block_size = limits->zql_physical_block_size;
|
qlimits->physical_block_size = limits->zql_physical_block_size;
|
||||||
qlimits->max_discard_sectors = limits->zql_max_discard_sectors;
|
qlimits->max_discard_sectors = limits->zql_max_discard_sectors;
|
||||||
|
qlimits->max_hw_discard_sectors = limits->zql_max_discard_sectors;
|
||||||
qlimits->discard_granularity = limits->zql_discard_granularity;
|
qlimits->discard_granularity = limits->zql_discard_granularity;
|
||||||
#ifdef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES
|
#ifdef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES
|
||||||
qlimits->features =
|
qlimits->features =
|
||||||
|
|
Loading…
Reference in New Issue