Re: [PATCH 10/21] block: Add fops atomic write support

John Garry
2023-10-04T09:15:30Z

On 03/10/2023 17:45, Bart Van Assche wrote:
> On 10/3/23 01:37, John Garry wrote:
>> I don't think that is_power_of_2(write length) is specific to XFS.
>
> I think this is specific to XFS. Can you show me the F2FS code that
> restricts the length of an atomic write to a power of two? I haven't
> found it. The only power-of-two check that I found in F2FS is the
> following (maybe I overlooked something):
>
> $ git grep -nH is_power fs/f2fs
> fs/f2fs/super.c:3914:    if (!is_power_of_2(zone_sectors)) {

Any usecases which we know of requires a power-of-2 block size.

Do you know of a requirement for other sizes? Or are you concerned that
it is unnecessarily restrictive?

We have to deal with HW features like atomic write boundary and FS
restrictions like extent and stripe alignment transparent, which are
almost always powers-of-2, so naturally we would want to work with
powers-of-2 for atomic write sizes.

The power-of-2 stuff could be dropped if that is what people want.
However we still want to provide a set of rules to the user to make
those HW and FS features mentioned transparent to the user.

Thanks,
John