All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chandra Seetharaman <sekharan@us.ibm.com>
To: Dave Chinner <david@fromorbit.com>
Cc: XFS mailing list <xfs@oss.sgi.com>
Subject: Re: [PATCH] xfs: Initialize all quota inodes to be NULLFSINO
Date: Wed, 17 Jul 2013 16:42:10 -0500	[thread overview]
Message-ID: <1374097330.8941.12.camel@chandra-dt.ibm.com> (raw)
In-Reply-To: <20130716002352.GA3920@dastard>

On Tue, 2013-07-16 at 10:23 +1000, Dave Chinner wrote:
> On Mon, Jul 15, 2013 at 05:54:45PM -0500, Chandra Seetharaman wrote:
> > On Sat, 2013-07-13 at 12:13 +1000, Dave Chinner wrote:
> > > On Thu, Jul 11, 2013 at 08:47:45PM -0500, Chandra Seetharaman wrote:
> > > > 
> > > > mkfs doesn't initialize the quota inodes to NULLFSINO as it
> > > > does for the other internal inodes. This leads to check for two
> > > > values (0 and NULLFSINO) to make sure if a quota inode is
> > > > valid.
> > > > 
> > > > Solve that problem by initializing the values to NULLFSINO
> > > > if they are 0.
> > > > 
> > > > Note that these values are not written back to on-disk
> > > > superblock unless some quota is enabled on the filesystem.
> > > > 
> > > > Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
> > > > ---
> > > >  fs/xfs/xfs_mount.c |   12 ++++++++++++
> > > >  1 files changed, 12 insertions(+), 0 deletions(-)
> > > > 
> > > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
> > > > index 2b0ba35..8b95933 100644
> > > > --- a/fs/xfs/xfs_mount.c
> > > > +++ b/fs/xfs/xfs_mount.c
> > > > @@ -572,6 +572,18 @@ out_unwind:
> > > >  static void
> > > >  xfs_sb_quota_from_disk(struct xfs_sb *sbp)
> > > >  {
> > > > +	/*
> > > > +	 * older mkfs doesn't initialize quota inodes to NULLFSINO,
> > > > +	 * which leads to two values for a quota inode to be invalid:
> > > > +	 * 0 and NULLFSINO. Fix it.
> > > > +	 */
> > > > +	if (sbp->sb_uquotino == 0)
> > > > +		sbp->sb_uquotino = NULLFSINO;
> > > > +	if (sbp->sb_gquotino == 0)
> > > > +		sbp->sb_gquotino = NULLFSINO;
> > > > +	if (sbp->sb_pquotino == 0)
> > > > +		sbp->sb_pquotino = NULLFSINO;
> > > 
> > > There coment needs to point out that this is changing the in-memory
> > > superblock value right here, so we don't need to make changing
> > > sb_pquotino dependent on the superblock having support for this
> > > feature.
> > 
> > But, we are not just changing just for sb_pquotino, right ?
> 
> Sure, but those other two fields are always present in the
> superblock...
> 
> > Since we are changing all the fields independent of superblock
> > supporting sb_pquotino, I thought the comment should be generic.
> 
> So why is it safe to modify this when sb_pquotino isn't valid in the
> superblock (i.e. v4 superblock) and the only valid on-disk value for
> an unused section of the superblock is zero?
> 
> That's what the comment needs to explain.

How about this:

/*
 * older mkfs doesn't initialize quota inodes to NULLFSINO
 * This leads to in-core values having two different values
 * for a quota inode to be invalid: 0 and NULLFSINO.
 * Change it to a single value NULLFSINO.
 *
 * Note that this change affect only the in-core values. 
 * These values are not written back to disk unless any
 * quota information is written to the disk. Even in that
 * case, sb_pquotino field is not written to disk unless
 * the superblock supports pquotino.
 */

> Cheers,
> 
> Dave.


_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2013-07-17 21:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-12  1:47 [PATCH] xfs: Initialize all quota inodes to be NULLFSINO Chandra Seetharaman
2013-07-12 14:27 ` Carlos Maiolino
2013-07-12 14:50   ` Chandra Seetharaman
2013-07-13  2:13 ` Dave Chinner
2013-07-15 22:54   ` Chandra Seetharaman
2013-07-16  0:23     ` Dave Chinner
2013-07-17 21:42       ` Chandra Seetharaman [this message]
2013-07-18  3:43         ` Dave Chinner

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=1374097330.8941.12.camel@chandra-dt.ibm.com \
    --to=sekharan@us.ibm.com \
    --cc=david@fromorbit.com \
    --cc=xfs@oss.sgi.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.