On 16/09/2024 08:03, Dave Chinner wrote:
OTOH, we can't do this with atomic writes. Atomic writes require
some mkfs help because they require explicit physical alignment of
the filesystem to the underlying storage.
If we are enabling atomic writes at mkfs time, then we can ensure agsize
% extsize == 0. That provides the physical alignment guarantee. It also
makes sense to ensure extsize is a power-of-2.
However, extsize is re-configurble per inode. So, for an inode enabled
for atomic writes, we must still ensure agsize % new extsize == 0 (and
also new extsize is a power-of-2)
Hence we'll eventually end
up with atomic writes needing to be enabled at mkfs time, but force
align will be an upgradeable feature flag.
Could atomic writes also be an upgradeable feature? We just need to
ensure that agsize % extsize == 0 for an inode enabled for atomic
writes. Valid extsize values may be quite limited, though, depending on
the value of agsize.
Thanks,
John