On 06/01/2025 17:26, Mike Snitzer wrote:
On Mon, Jan 06, 2025 at 12:41:14PM +0000, John Garry wrote:
This series introduces initial device mapper atomic write support.
Since we already support stacking atomic writes limits, it's quite
straightforward to support.
Only dm-linear is supported for now, but other personalities could
be supported.
Patch #1 is a proper fix, but the rest of the series is RFC - this is
because I have not fully tested and we are close to the end of this
development cycle.
In general, looks reasonable. But I would prefer to see atomic write
support added to dm-striped as well. Not that I have some need, but
because it will help verify the correctness of the general stacking
code changes (in both block and DM core).
That should be fine. We already have md raid0 support working (for
atomic writes), so I would expect much of the required support is
already available.
I wrote and/or fixed a fair
amount of the non-atomic block limits stacking code over the
years.. so this is just me trying to inform this effort based on
limits stacking gotchas we've experienced to this point.
Yeah, understood. And that is why I am on the lookup for points at which
we try to split atomic writes in the submission patch. The only reason
that it should happen is due to the limits being incorrectly calculated.
Looks like adding dm-striped support would just need to ensure that
the chunk_size is multiple of atomic write size (so chunk_size >=
atomic write size).
Right, so the block queue limits code already will throttle the atomic
write max so that chunk_size % atomic write upper limit == 0.
Relative to linear, testing limits stacking in terms of linear should
also verify that concatenated volumes work.
ok,
Thanks,
John