linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH 07/16] xfs: convert mount flags to features
Date: Wed, 18 Aug 2021 12:25:19 +1000	[thread overview]
Message-ID: <20210818022519.GQ3657114@dread.disaster.area> (raw)
In-Reply-To: <20210811232856.GM3601443@magnolia>

On Wed, Aug 11, 2021 at 04:28:56PM -0700, Darrick J. Wong wrote:
> On Tue, Aug 10, 2021 at 05:38:00PM -0700, Darrick J. Wong wrote:
> > On Tue, Aug 10, 2021 at 03:24:42PM +1000, Dave Chinner wrote:
> > > From: Dave Chinner <dchinner@redhat.com>
> > > 
> > > Replace m_flags feature checks with xfs_has_<feature>() calls and
> > > rework the setup code to set flags in m_features.
> > > 
> > > Signed-off-by: Dave Chinner <dchinner@redhat.com>
> > 
> > AFAICT the only change since last time is in xfs_inode.c, right?
> > 
> > Reviewed-by: Darrick J. Wong <djwong@kernel.org>
> 
> I'm having some second thoughts about the attr2 handling in this patch.
> xfs/186 regresses like so:
> 
> --- /tmp/fstests/tests/xfs/186.out      2021-05-13 11:47:55.849859833 -0700
> +++ /var/tmp/fstests/xfs/186.out.bad    2021-08-11 15:36:38.892735511 -0700
> @@ -195,6 +195,7 @@
>  
>  =================================
>  ATTR
> +ATTR2
>  forkoff = 47
>  u.sfdir2.hdr.count = 25
>  u.sfdir2.hdr.i8count = 0
>
> AFAICT, prior to this patch, if a V4 fs did not have attr2 set in the
> ondisk superblock and the user did not mount with -oattr2, the fs would
> continue to use attr1 format.  Indeed, xfs_sbversion_add_attr2 did:
> 
> 	if ((mp->m_flags & XFS_MOUNT_ATTR2) &&
> 	    !(xfs_sb_version_hasattr2(&mp->m_sb))) {
> 		/* try to add feature to ondisk super */
> 	}
> 
> Now, however, we mix the two together -- if the ondisk super has attr2
> set, XFS_FEAT_ATTR2 will be set, and if the mount options include
> -oattr2, XFS_FEAT_ATTR2 will also be set.  Now that function does:
> 
> 	if (xfs_has_attr2(mp))
> 		return;
> 	if (xfs_has_noattr2(mp))
> 		return;
> 
> 	/* try to add feature to ondisk super */
> 
> The behavior is not the same here -- if neither the ondisk sb nor the
> mount options have attr2, we upgrade an attr1 fs to attr2.  I think this
> is why xfs/186 has this regression.

Hmmm - I think I changed it to do that explicitly at one point, then
didn't remove it when splitting out attr2 specific stuff. e.g. the
comment now says:

/*
 * Switch on the ATTR2 superblock bit (implies also FEATURES2) by default unless
 * we've explicitly been told not to use attr2 (i.e. noattr2 mount option).
 */

Which is how it's behaving.  I'll just revert then "upgrade by
default" behaviour and go back to the way it used to work. That'll
also fix the other problem you mention, too.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2021-08-18  2:25 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10  5:24 [PATCH 00/16 v2] xfs: rework feature flags Dave Chinner
2021-08-10  5:24 ` [PATCH 01/16] xfs: sb verifier doesn't handle uncached sb buffer Dave Chinner
2021-08-11  0:34   ` Darrick J. Wong
2021-08-12  7:52   ` Christoph Hellwig
2021-08-10  5:24 ` [PATCH 02/16] xfs: rename xfs_has_attr() Dave Chinner
2021-08-12  8:03   ` Christoph Hellwig
2021-08-18  0:56     ` Dave Chinner
2021-08-18  2:56       ` Darrick J. Wong
2021-08-10  5:24 ` [PATCH 03/16] xfs: rework attr2 feature and mount options Dave Chinner
2021-08-11 23:04   ` Darrick J. Wong
2021-08-18  1:18     ` Dave Chinner
2021-08-12  0:27   ` Darrick J. Wong
2021-08-18  1:25     ` Dave Chinner
2021-08-10  5:24 ` [PATCH 04/16] xfs: reflect sb features in xfs_mount Dave Chinner
2021-08-10  5:24 ` [PATCH 05/16] xfs: replace xfs_sb_version checks with feature flag checks Dave Chinner
2021-08-11 22:13   ` Darrick J. Wong
2021-08-18  1:33     ` Dave Chinner
2021-08-10  5:24 ` [PATCH 06/16] xfs: consolidate mount option features in m_features Dave Chinner
2021-08-12  8:07   ` Christoph Hellwig
2021-08-10  5:24 ` [PATCH 07/16] xfs: convert mount flags to features Dave Chinner
2021-08-11  0:38   ` Darrick J. Wong
2021-08-11 23:28     ` Darrick J. Wong
2021-08-18  2:25       ` Dave Chinner [this message]
2021-08-10  5:24 ` [PATCH 08/16] xfs: convert remaining mount flags to state flags Dave Chinner
2021-08-10  5:24 ` [PATCH 09/16] xfs: replace XFS_FORCED_SHUTDOWN with xfs_is_shutdown Dave Chinner
2021-08-10  5:24 ` [PATCH 10/16] xfs: convert xfs_fs_geometry to use mount feature checks Dave Chinner
2021-08-11  0:39   ` Darrick J. Wong
2021-08-10  5:24 ` [PATCH 11/16] xfs: open code sb verifier " Dave Chinner
2021-08-11  0:48   ` Darrick J. Wong
2021-08-10  5:24 ` [PATCH 12/16] xfs: convert scrub to use mount-based " Dave Chinner
2021-08-10  5:24 ` [PATCH 13/16] xfs: convert xfs_sb_version_has checks to use mount features Dave Chinner
2021-08-10  5:24 ` [PATCH 14/16] xfs: remove unused xfs_sb_version_has wrappers Dave Chinner
2021-08-10  5:24 ` [PATCH 15/16] xfs: introduce xfs_sb_is_v5 helper Dave Chinner
2021-08-10  5:24 ` [PATCH 16/16] xfs: kill xfs_sb_version_has_v3inode() Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2021-08-18 23:59 [PATCH 00/16 v3] xfs: rework feature flags Dave Chinner
2021-08-18 23:59 ` [PATCH 07/16] xfs: convert mount flags to features Dave Chinner
2021-08-19  2:14   ` Darrick J. Wong
2021-07-14  4:18 [PATCH 00/16] xfs: rework feature flags Dave Chinner
2021-07-14  4:19 ` [PATCH 07/16] xfs: convert mount flags to features Dave Chinner
2021-07-14 23:07   ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210818022519.GQ3657114@dread.disaster.area \
    --to=david@fromorbit.com \
    --cc=djwong@kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).