Skip to content

Commit cbc1532

Browse files
keithbuschMikulas Patocka
authored andcommitted
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>
1 parent 6ebf3b6 commit cbc1532

1 file changed

Lines changed: 8 additions & 13 deletions

File tree

drivers/md/dm-integrity.c

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4046,19 +4046,14 @@ static void dm_integrity_io_hints(struct dm_target *ti, struct queue_limits *lim
40464046
{
40474047
struct dm_integrity_c *ic = ti->private;
40484048

4049-
if (ic->sectors_per_block > 1) {
4050-
limits->logical_block_size =
4051-
max(limits->logical_block_size,
4052-
ic->sectors_per_block << SECTOR_SHIFT);
4053-
limits->physical_block_size =
4054-
max(limits->physical_block_size,
4055-
ic->sectors_per_block << SECTOR_SHIFT);
4056-
limits->io_min =
4057-
max(limits->io_min,
4058-
ic->sectors_per_block << SECTOR_SHIFT);
4059-
limits->dma_alignment = limits->logical_block_size - 1;
4060-
limits->discard_granularity = ic->sectors_per_block << SECTOR_SHIFT;
4061-
}
4049+
limits->logical_block_size = max(limits->logical_block_size,
4050+
ic->sectors_per_block << SECTOR_SHIFT);
4051+
limits->physical_block_size = max(limits->physical_block_size,
4052+
ic->sectors_per_block << SECTOR_SHIFT);
4053+
limits->io_min = max(limits->io_min,
4054+
ic->sectors_per_block << SECTOR_SHIFT);
4055+
limits->dma_alignment = limits->logical_block_size - 1;
4056+
limits->discard_granularity = ic->sectors_per_block << SECTOR_SHIFT;
40624057

40634058
if (!ic->internal_hash) {
40644059
struct blk_integrity *bi = &limits->integrity;

0 commit comments

Comments
 (0)