From: Jeff Liu <jeff.liu@oracle.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Ben Myers <bpm@sgi.com>,
Chandra Seetharaman <sekharan@us.ibm.com>,
Mark Tinguely <tinguely@sgi.com>,
Chris Mason <chris.mason@oracle.com>,
xfs@oss.sgi.com
Subject: Re: [PATCH 1/4] xfs: Remove incore use of XFS_OQUOTA_ENFD and XFS_OQUOTA_CHKD
Date: Tue, 17 Jul 2012 20:44:17 +0800 [thread overview]
Message-ID: <50055E21.6040705@oracle.com> (raw)
In-Reply-To: <20120717073221.GA24395@infradead.org>
On 07/17/2012 03:32 PM, Christoph Hellwig wrote:
>> + if ((to->sb_qflags & (XFS_OQUOTA_ENFD | XFS_OQUOTA_CHKD)) &&
>> + (to->sb_qflags & (XFS_PQUOTA_ENFD | XFS_GQUOTA_ENFD |
>> + XFS_PQUOTA_CHKD | XFS_GQUOTA_CHKD))) {
>> + xfs_notice(mp, "Super block has XFS_OQUOTA bits along with "
>> + "XFS_PQUOTA and/or XFS_GQUOTA bits. Fixing it.\n");
>> + }
>> + if (to->sb_qflags & XFS_OQUOTA_ENFD)
>> + to->sb_qflags |= (to->sb_qflags & XFS_PQUOTA_ACCT) ?
>> + XFS_PQUOTA_ENFD : XFS_GQUOTA_ENFD;
>> + if (to->sb_qflags & XFS_OQUOTA_CHKD)
>> + to->sb_qflags |= (to->sb_qflags & XFS_PQUOTA_ACCT) ?
>> + XFS_PQUOTA_CHKD : XFS_GQUOTA_CHKD;
>> + to->sb_qflags &= ~(XFS_OQUOTA_ENFD | XFS_OQUOTA_CHKD);
>
> It's suggest factoring this into a xfs_quota_flags_from_disk helper,
> which a) makes this code more clear, and b) can get a comment about what
> is going on.
Exactly!
>
>> + /*
>> + * The in-core version of sb_qflags do not have
>> + * XFS_OQUOTA_* flags, whereas the on-disk version
>> + * does. Save the in-core sb_qflags temporarily,
>> + * removing the new XFS_{PG}QUOTA_* flags and re-apply
>> + * the old on-disk flags.
>> + */
>> + tmp16 = from->sb_qflags &
>> + ~(XFS_PQUOTA_ENFD | XFS_PQUOTA_CHKD |
>> + XFS_GQUOTA_ENFD | XFS_GQUOTA_CHKD);
>> + if (from->sb_qflags &
>> + (XFS_PQUOTA_ENFD | XFS_GQUOTA_ENFD))
>> + tmp16 |= XFS_OQUOTA_CHKD;
>> + *(__be16 *)(to_ptr + first) = cpu_to_be16(tmp16);
>
> Same here for the other direction.
Ok, I'll take care of it as well.
>
>> + * Start differentiating group quota and project quota in-core
>> + * using distinct flags, instread of using the combined OQUOTA flags.
>> + *
>> + * Conversion to and from the combined OQUOTA flag (if necessary)
>> + * is done only in xfs_sb{to, from}_disk()
>> + */
>> +#define XFS_GQUOTA_ENFD 0x0080 /* group quota limit enforced */
>> +#define XFS_GQUOTA_CHKD 0x0100 /* quotacheck run on group quotas */
>> +#define XFS_PQUOTA_ENFD 0x0200 /* project quota limits enforced */
>> +#define XFS_PQUOTA_CHKD 0x0800 /* quotacheck run on project quotas.
>> + * FIXME: here we cannot using 0x0400
>> + * because it is already reserved for
>> + * XFS_GQUOTA_ACTIVE. Otherwise,
>> + * XFS_IS_GQUOTA_ON() is also true
>> + * although it does not enabled.
>> + */
>
> Seems like all te 0x0?00 values are used for XFS_U?UOTA_ACTIVE flags.
> Why not move it to the 0x?000 range?
I have not took that previously because it will make the code looks a bit in-continuous, consider we have to skip all 0x0?00.
But yes, move PQUOTA_ENFD/PQUOTA_CHKD to 0x?000 range is fine, thanks for the advice!
-Jeff
.
>
> Otherwise these changes look good to me.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
prev parent reply other threads:[~2012-07-17 12:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-13 8:35 [PATCH 1/4] xfs: Remove incore use of XFS_OQUOTA_ENFD and XFS_OQUOTA_CHKD Jeff Liu
2012-07-17 7:32 ` Christoph Hellwig
2012-07-17 12:44 ` Jeff Liu [this message]
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=50055E21.6040705@oracle.com \
--to=jeff.liu@oracle.com \
--cc=bpm@sgi.com \
--cc=chris.mason@oracle.com \
--cc=hch@infradead.org \
--cc=sekharan@us.ibm.com \
--cc=tinguely@sgi.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.