]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dm-integrity: always set the io hints
authorKeith Busch <kbusch@kernel.org>
Wed, 25 Mar 2026 19:36:07 +0000 (12:36 -0700)
committerMikulas Patocka <mpatocka@redhat.com>
Fri, 27 Mar 2026 21:19:08 +0000 (22:19 +0100)
Don't depend on the defaults to be what is desired if the integrity
device was set up with 512b sector size. Always set the queue limits to
be at least what the device mapper wants.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm-integrity.c

index 8dfd498ed1ffd6ed4725c32d1bb1f8ef0517f909..d64c15c761d0a4042eee527069554f98b2a3c5db 100644 (file)
@@ -4046,19 +4046,14 @@ static void dm_integrity_io_hints(struct dm_target *ti, struct queue_limits *lim
 {
        struct dm_integrity_c *ic = ti->private;
 
-       if (ic->sectors_per_block > 1) {
-               limits->logical_block_size =
-                               max(limits->logical_block_size,
-                                   ic->sectors_per_block << SECTOR_SHIFT);
-               limits->physical_block_size =
-                               max(limits->physical_block_size,
-                                   ic->sectors_per_block << SECTOR_SHIFT);
-               limits->io_min =
-                               max(limits->io_min,
-                                   ic->sectors_per_block << SECTOR_SHIFT);
-               limits->dma_alignment = limits->logical_block_size - 1;
-               limits->discard_granularity = ic->sectors_per_block << SECTOR_SHIFT;
-       }
+       limits->logical_block_size = max(limits->logical_block_size,
+                           ic->sectors_per_block << SECTOR_SHIFT);
+       limits->physical_block_size = max(limits->physical_block_size,
+                           ic->sectors_per_block << SECTOR_SHIFT);
+       limits->io_min = max(limits->io_min,
+                           ic->sectors_per_block << SECTOR_SHIFT);
+       limits->dma_alignment = limits->logical_block_size - 1;
+       limits->discard_granularity = ic->sectors_per_block << SECTOR_SHIFT;
 
        if (!ic->internal_hash) {
                struct blk_integrity *bi = &limits->integrity;