summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Busch <kbusch@kernel.org>2026-03-25 22:36:07 +0300
committerMikulas Patocka <mpatocka@redhat.com>2026-03-28 00:19:08 +0300
commitcbc1532d2b0ec2a842bd459f01b590bbf16b7443 (patch)
tree3086f99cf075f8d122925fdc607b44ec9f25521b
parent6ebf3b6c6f16fda0568aa4207c6cd398f983c354 (diff)
downloadlinux-cbc1532d2b0ec2a842bd459f01b590bbf16b7443.tar.xz
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 <kbusch@kernel.org> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
-rw-r--r--drivers/md/dm-integrity.c21
1 files 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;