Currently md raid0/10 and dm-stripe sets io_min limit from stripe width. This value in io_min is used to configure any atomic write limit for the stacked device. The idea is that the atomic write unit max is a power-of-2 factor of the stripe width.
Using io_min causes issues, as: a. it may be mutated b. the check for io_min being set for determining if we are dealing with a striped device is hard to get right, as reported in [0]. This series now sets chunk_sectors limit to share stripe size. Sending as an RFC as I need to test more and I am not totally confident that using chunk_sectors is the right approach. Apologies for any delays in response, as I will be OoO soon, and I wanted to send this to share with Nilay. [0] https://lore.kernel.org/linux-block/888f3b1d-7817-4007-b3b3-1a2ea04df...@linux.ibm.com/T/#mecca17129f72811137d3c2f1e477634e77f06781 John Garry (4): md/raid0: set chunk_sectors limit md/raid10: set chunk_sectors limit dm-stripe: limit chunk_sectors to the stripe size block: use chunk_sectors when evaluating stacked atomic write limits block/blk-settings.c | 8 +++++--- drivers/md/dm-stripe.c | 3 ++- drivers/md/dm-table.c | 4 ++++ drivers/md/raid0.c | 1 + drivers/md/raid10.c | 1 + include/linux/device-mapper.h | 3 +++ 6 files changed, 16 insertions(+), 4 deletions(-) -- 2.31.1