From cbc1532d2b0ec2a842bd459f01b590bbf16b7443 Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Wed, 25 Mar 2026 12:36:07 -0700 Subject: [PATCH] dm-integrity: always set the io hints 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 Signed-off-by: Mikulas Patocka --- drivers/md/dm-integrity.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c index 8dfd498ed1ff..d64c15c761d0 100644 --- a/drivers/md/dm-integrity.c +++ b/drivers/md/dm-integrity.c @@ -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;