diff options
author | Ameer Hamza <[email protected]> | 2024-08-20 01:30:57 +0500 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2024-08-22 15:43:34 -0700 |
commit | 0f9457d1dd7a56ceccda962433281ef946132b5f (patch) | |
tree | a9925a025663cc59cdb4ff527c45a1d3979fa1d9 | |
parent | 859f906a4b4dfc132115f10f5d372ef4281a6479 (diff) |
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 <[email protected]>
Reviewed-by: Tony Hutter <[email protected]>
Reviewed-by: Rob Norris <[email protected]>
Signed-off-by: Ameer Hamza <[email protected]>
Closes #16462
-rw-r--r-- | module/os/linux/zfs/zvol_os.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/module/os/linux/zfs/zvol_os.c b/module/os/linux/zfs/zvol_os.c index a4a710cb9..b8507eef0 100644 --- a/module/os/linux/zfs/zvol_os.c +++ b/module/os/linux/zfs/zvol_os.c @@ -1169,6 +1169,7 @@ zvol_queue_limits_convert(zvol_queue_limits_t *limits, qlimits->io_opt = limits->zql_io_opt; qlimits->physical_block_size = limits->zql_physical_block_size; 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; #ifdef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES qlimits->features = |