]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dm: clear unmap write zeroes limits when disabling write zeroes
authorZhang Yi <yi.zhang@huawei.com>
Thu, 19 Jun 2025 11:18:02 +0000 (19:18 +0800)
committerChristian Brauner <brauner@kernel.org>
Mon, 23 Jun 2025 10:45:13 +0000 (12:45 +0200)
The unmap write zeroes limits have been set to the stacking queue limits
by default in blk_set_stacking_limits() and blk_stack_limits(), but it
should be cleared if any underlying device does not support it.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://lore.kernel.org/20250619111806.3546162-6-yi.zhang@huaweicloud.com
Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
drivers/md/dm-table.c

index 24a857ff6d0b1dac8687bc10cc948d3c0fd36c7a..d9d5e6aa570724e72be3bc377975359de773f955 100644 (file)
@@ -2065,8 +2065,10 @@ int dm_table_set_restrictions(struct dm_table *t, struct request_queue *q,
                limits->discard_alignment = 0;
        }
 
-       if (!dm_table_supports_write_zeroes(t))
+       if (!dm_table_supports_write_zeroes(t)) {
                limits->max_write_zeroes_sectors = 0;
+               limits->max_hw_wzeroes_unmap_sectors = 0;
+       }
 
        if (!dm_table_supports_secure_erase(t))
                limits->max_secure_erase_sectors = 0;