On 11/12/2023 10:54, Ojaswin Mujoo wrote:
This seems a rather big drawback.
So if I'm not wrong, we force the extent alignment as well as the size
of the extent in xfs right.
For XFS in my v1 patchset, we only force alignment (but not size).
It is assumed that the user will fallocate/dd the complete file before
issuing atomic writes, and we will have extent alignment and length as
required.
However - as we have seen with a trial user - it can create a problem if
we don't do that and we write 4K and then overwrite with a 16K atomic
write to a file, as 2x extents may be allocated for the complete 16K and
it cannot be issued as a single BIO.
We didn't want to overly restrict the users of atomic writes by forcing
the extents to be of a certain alignment/size irrespective of the size
of write. The design in this patchset provides this flexibility at the
cost of some added precautions that the user should take (eg not doing
an atomic write on a pre existing unaligned extent etc).
Doesn't bigalloc already give you what you require here?
Thanks,
John