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


Reply via email to