Skip to content

Commit 33c8d68

Browse files
committed
dm-raid: don't set io_min and io_opt for raid1
JIRA: https://issues.redhat.com/browse/RHEL-119009 Upstream Status: kernel/git/torvalds/linux.git commit a865562 Author: Mikulas Patocka <mpatocka@redhat.com> Date: Mon Sep 15 16:12:40 2025 +0200 dm-raid: don't set io_min and io_opt for raid1 These commands modprobe brd rd_size=1048576 vgcreate vg /dev/ram* lvcreate -m4 -L10 -n lv vg trigger the following warnings: device-mapper: table: 252:10: adding target device (start sect 0 len 24576) caused an alignment inconsistency device-mapper: table: 252:10: adding target device (start sect 0 len 24576) caused an alignment inconsistency The warnings are caused by the fact that io_min is 512 and physical block size is 4096. If there's chunk-less raid, such as raid1, io_min shouldn't be set to zero because it would be raised to 512 and it would trigger the warning. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: stable@vger.kernel.org Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
1 parent ef9afd7 commit 33c8d68

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/md/dm-raid.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3817,8 +3817,10 @@ static void raid_io_hints(struct dm_target *ti, struct queue_limits *limits)
38173817
struct raid_set *rs = ti->private;
38183818
unsigned int chunk_size_bytes = to_bytes(rs->md.chunk_sectors);
38193819

3820-
limits->io_min = chunk_size_bytes;
3821-
limits->io_opt = chunk_size_bytes * mddev_data_stripes(rs);
3820+
if (chunk_size_bytes) {
3821+
limits->io_min = chunk_size_bytes;
3822+
limits->io_opt = chunk_size_bytes * mddev_data_stripes(rs);
3823+
}
38223824
}
38233825

38243826
static void raid_presuspend(struct dm_target *ti)

0 commit comments

Comments
 (0)