diff options
| author | Keith Busch <kbusch@kernel.org> | 2026-03-25 22:36:07 +0300 |
|---|---|---|
| committer | Mikulas Patocka <mpatocka@redhat.com> | 2026-03-28 00:19:08 +0300 |
| commit | cbc1532d2b0ec2a842bd459f01b590bbf16b7443 (patch) | |
| tree | 3086f99cf075f8d122925fdc607b44ec9f25521b | |
| parent | 6ebf3b6c6f16fda0568aa4207c6cd398f983c354 (diff) | |
| download | linux-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.c | 21 |
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; |
