On 11/07/2025 11:52, John Garry wrote: Hi Jens,
Can you please consider picking up these changes on the block tree? They fix real issues which we encountered.
Thanks, John
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 size, and the stripe size is available in io_min. 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. [0] https://lore.kernel.org/linux-block/888f3b1d-7817-4007-b3b3-1a2ea04df...@linux.ibm.com/T/#mecca17129f72811137d3c2f1e477634e77f06781 Based on 8b428f42f3edf nbd: fix lockdep deadlock warning This series fixes issues for v6.16, but it's prob better to have this in v6.17 . Difference to v6: - do comparison in sectors in 2/6 Differences to v5: - Neaten code in blk_validate_atomic_write_limits() (Jens) Differences to v4: - Use check_shl_overflow() (Nilay) - Use long long in for chunk bytes in 2/6 - Add tags from Nilay (thanks!) John Garry (6): ilog2: add max_pow_of_two_factor() block: sanitize chunk_sectors for atomic write limits 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 | 62 ++++++++++++++++++++++++++---------------- drivers/md/dm-stripe.c | 1 + drivers/md/raid0.c | 1 + drivers/md/raid10.c | 1 + fs/xfs/xfs_mount.c | 5 ---- include/linux/log2.h | 14 ++++++++++ 6 files changed, 56 insertions(+), 28 deletions(-)