Re: [PATCH RFC 3/4] dm-stripe: limit chunk_sectors to the stripe size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/06/2025 16:19, Mikulas Patocka wrote:
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index 24a857ff6d0b..4f1f7173740c 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -430,6 +430,10 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev,
  		return 0;
  	}
+ /* For striped types, limit the chunk_sectors to the chunk size */
+	if (dm_target_supports_striped(ti->type))
+		limits->chunk_sectors = len >> SECTOR_SHIFT;
+
len is already in sectors, so why do we shift it right?

Actually what I am passing is not the proper value at all. len holds the sc->stripe_width, and that seems to be md dev size / # stripes. I think that we want chunk_size, right?


Could this logic be moved to the function stripe_io_hints, so that we
don't have to add a new flag for that and that we don't have to modify the
generic dm code?


That would be better. I am going to have to change blk_stack_atomic_writes_limits() to work for that, but I think that code needs to change anyway if the bottom device has its own chunk_sectors (as Nilay mentioned about 4/4).

Thanks,
John




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux