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.