Re: [RFC-PATCH] xfs: do not update sunit/swidth in the superblock to match those provided during mount

Eric Sandeen
2019-11-26T16:53:53Z

On 11/26/19 7:37 AM, Alex Lyakas wrote:
> Hi Brian,
>
> Thank you for your response.
>
> On Tue, Nov 26, 2019 at 1:54 PM Brian Foster <bfoster@redhat.com> wrote:

...

> Fascinating!
>
> From our perspective, when the underlying storage alignment changes,
> we are ok for all already-allocated extents to keep their existing
> alignment. We only want the newly-allocated extents to use the
> newly-specified sunit/swidth. My understanding is that such filesystem
> is not "broken bits", as everything is consistent, except different
> extents may have different alignments.
>
>> My takeaway from that is the behavior of updating the superblock from
>> the mount options could probably be nuked off (as your patch does), but
>> I'd suggest to get feedback from Eric and Darrick to see whether they
>> agree or would prefer to maintain existing behavior with proper
>> validation...
>
> Let's wait for their additional feedback, then.

What I'm trying to figure out is whether stripe geometry changes which alter
the expected root inode location are inherently problematic, and should be
rejected during mount processing, or if the only issue is that xfs_repair
assumes the geometry used in calculating root inode location will never change.

If the former, then we'd reject the mounts you're trying to do which have
"broken" xfs_repair's operation.

If the latter, then we could try to teach xfs_repair a different algorithm
for validating that the root inode in the superblock is correctly set.

-Eric

> Thanks,
> Alex.