Re: [PATCH v2 04/14] fs: xfs: Make file data allocations observe the 'forcealign' flag

From: John Garry
Date: Wed Mar 06 2024 - 04:41:56 EST



Please note in case missed, I am mandating extsize hint for forcealign needs
to be a power-of-2. It just makes life easier for all the sub-extent
zero'ing later on.

That's fine - that will need to be documented in the xfsctl man
page...

Also we need to enforce that the AG count to be compliant with the extsize
^^^^^ size?

Yes


hint for forcealign; but since the extsize hint for forcealign needs to be
compliant with stripe unit, above, and stripe unit would be compliant wth AG
count (right?), then this would be a given.

We already align AG size to stripe unit when a stripe unit is set,
and ensure that we don't place all the AG headers on the same stripe
unit.

However, if there is no stripe unit we don't align the AG to
anything.


So, yes, AG sizing by mkfs will need to ensure that all
AGs are correctly aligned to the underlying storage (integer
multiple of the max atomic write size, right?)...

right, this is really important


More below....

+ } else {
+ args->alignment = 1;
+ }

Just initialise the allocation args structure with a value of 1 like
we already do?

It was being done in this way to have just a single place where the value is
initialised. It can easily be kept as is.

I'd prefer it as is, because then the value is always initialised
correctly and we only override in the special cases....

ok


are you saying that low-space allocator can set args->alignment = 1 to be
explicit?

Yes.

ok

Thanks,
John