On 09/11/2023 15:26, Christoph Hellwig wrote:
On Fri, Sep 29, 2023 at 10:27:22AM +0000, John Garry wrote:
Ensure that when creating a mapping that we adhere to all the atomic
write rules.
We check that the mapping covers the complete range of the write to ensure
that we'll be just creating a single mapping.
Currently minimum granularity is the FS block size, but it should be
possibly to support lower in future.
I really dislike how this forces aligned allocations. Aligned
allocations are a nice optimization to offload some of the work
to the storage hard/firmware, but we need to support it in general.
And I think with out of place writes into the COW fork, and atomic
transactions to swap it in we can do that pretty easily.
That should also allow to get rid of the horrible forcealign mode,
as we can still try align if possible and just fall back to the
out of place writes.
How could we try to align? Do you mean that we try to align up to some
stage in the block allocator search? That seems like some middle ground
between no alignment and forcealign.
And what would we be aligning to?
Thanks,
John