[Devel] [PATCH VZ10] dm-qcow2: set max_hw_discard sectors during qcow2_io_hints
Vasileios Almpanis
vasileios.almpanis at virtuozzo.com
Fri Sep 12 14:41:31 MSK 2025
BLKDISCARD and FITRIM ioctl calls were being rejected
with -EOPNOTSUPP because bdev's max_discard_sectors
was set to 0. blk_validate_limits sets max_discard_sectors
to the minimum value between max_user_discard_sectors and
max_hw_discard_sectors. In our case max_hw_discard_sectors
was not set.
https://virtuozzo.atlassian.net/browse/VSTOR-113920
Signed-off-by: Vasileios Almpanis <vasileios.almpanis at virtuozzo.com>
Feature: dm-qcow2: Re-enable discard support.
---
drivers/md/dm-qcow2-target.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/md/dm-qcow2-target.c b/drivers/md/dm-qcow2-target.c
index d1b54d8f883e..90f315315976 100644
--- a/drivers/md/dm-qcow2-target.c
+++ b/drivers/md/dm-qcow2-target.c
@@ -1047,7 +1047,7 @@ static void qcow2_io_hints(struct dm_target *ti, struct queue_limits *limits)
* we can free a block on filesystem.
*/
limits->discard_granularity = sb->s_blocksize;
- limits->max_discard_sectors = to_sector(qcow2->clu_size);
+ limits->max_hw_discard_sectors = to_sector(qcow2->clu_size);
limits->logical_block_size = block_size;
limits->physical_block_size = block_size;
--
2.43.0
More information about the Devel
mailing list