Re: [PATCH 03/16] xfs: rework attr2 feature and mount options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 11, 2021 at 04:04:05PM -0700, Darrick J. Wong wrote:
> On Tue, Aug 10, 2021 at 03:24:38PM +1000, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > The attr2 feature is somewhat unique in that it has both a superblock
> > feature bit to enable it and mount options to enable and disable it.
> > 
> > Back when it was first introduced in 2005, attr2 was disabled unless
> > either the attr2 superblock feature bit was set, or the attr2 mount
> > option was set. If the superblock feature bit was not set but the
> > mount option was set, then when the first attr2 format inode fork
> > was created, it would set the superblock feature bit. This is as it
> > should be - the superblock feature bit indicated the presence of the
> > attr2 on disk format.
......
> 
> I see the following regression on xfs/187 with this patch applied:
> 
> --- /tmp/fstests/tests/xfs/187.out      2021-05-13 11:47:55.849859833 -0700
> +++ /var/tmp/fstests/xfs/187.out.bad    2021-08-11 15:59:15.692618610 -0700
> @@ -9,6 +9,8 @@
>  
>  noattr2 fs
>  
> +MOREBITS
> +ATTR2
>  
>  *** 2. test attr2 mkfs and then noattr2 mount with 1 EA ***
>  
> @@ -23,6 +25,8 @@
>  user.test
>  
>  ATTR
> +MOREBITS
> +ATTR2
>  
>  *** 3. test noattr2 mount and lazy sb ***
>  
> @@ -36,4 +40,5 @@
>  noattr2 fs
>  
>  MOREBITS
> +ATTR2
>  LAZYSBCOUNT
> 
> I am pretty sure this is a direct result of "This will not remove the
> superblock feature bit", correct?  Do you have an adjustment to xfs/187
> to avoid regressing QA?

I've been looking at 187, and the tests that are failing are testing
the specific behaviour of "mkfs w/attr2 enabled; mount noattr2 and
ensure the attr2 version bits are not set".

Basically, the premise of the noattr2 verification tests are not
valid anymore, but adding filters to mask out the addition of
MOREBITS and ATTR2 basically renders the test useless for validating
the old behaviour is still correct.

IOWs, there's no way to detect if a kernel is going to behave like
the old code and remove the bits, or whether it is going to just
leave the attr2 fields set on disk. Hence I've got no idea how we'd
change xfs/187 to validate both the old and new behaviour because we
have no way of knowing which behaviour to expect.

So I'd vote for just throwing away xfs/187 because a) it looks
unfixable to me, and b) it's trying to validate what should be
considered broken behaviour (i.e. on-disk feature bit gets removed
even though the feature is still present on disk)...

Your thoughts?

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux