linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: darrick.wong@oracle.com
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH v5 00/11] xfs: separate dquot type from flags
Date: Wed, 15 Jul 2020 23:45:19 -0700	[thread overview]
Message-ID: <159488191927.3813063.6443979621452250872.stgit@magnolia> (raw)

Hi all,

This series tries to clean up some of the messier parts of dquot flags
handling.  We begin by cleaning up a bunch of dquot flag misuse, so that
now xfs quota functions only take record type information; remove a
bunch of other helper macros that duplicate the "what type is this?"
predicates, and make all the quota type switching logic the same.

We make a fundamental distinction here -- from now on, xfs quota
function only take XFS_DQTYPE_{USER,GROUP,PROJ} as a type parameter.
This means that anything trying to extract the quota record type from an
incore dquot had better use xfs_dquot_type() to extract the type flags.
Right now there's no difference since there are no other type flags, but
this will become important when y2038 timestamps shows up.

Finally, we create a new xfs_dqtype_t to represent all that is an incore
dquot record type, and rename the ondisk d_flags field to d_type to make
the quota type information more self contained.

TLDR: dquot type information is now a separate field, and quota
functions now only take the XFS_DQTYPE flags that signal user, group, or
project quota.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D
---
 fs/xfs/libxfs/xfs_dquot_buf.c   |   25 +++++----
 fs/xfs/libxfs/xfs_format.h      |   13 +++++
 fs/xfs/libxfs/xfs_quota_defs.h  |   25 +++++----
 fs/xfs/scrub/quota.c            |   14 +++--
 fs/xfs/scrub/repair.c           |   10 ++--
 fs/xfs/scrub/repair.h           |    4 +-
 fs/xfs/xfs_buf_item_recover.c   |    9 ++-
 fs/xfs/xfs_dquot.c              |  103 +++++++++++++++++++++------------------
 fs/xfs/xfs_dquot.h              |   73 ++++++++++++++++++----------
 fs/xfs/xfs_dquot_item_recover.c |   12 ++---
 fs/xfs/xfs_icache.c             |    4 +-
 fs/xfs/xfs_iomap.c              |   36 +++++++-------
 fs/xfs/xfs_qm.c                 |   79 +++++++++++++++---------------
 fs/xfs/xfs_qm.h                 |   55 +++++++++------------
 fs/xfs/xfs_qm_bhv.c             |    2 -
 fs/xfs/xfs_qm_syscalls.c        |   17 ++----
 fs/xfs/xfs_quota.h              |   10 ++--
 fs/xfs/xfs_quotaops.c           |    8 ++-
 fs/xfs/xfs_trace.h              |   21 ++++++--
 fs/xfs/xfs_trans_dquot.c        |   34 ++++++++-----
 20 files changed, 302 insertions(+), 252 deletions(-)


             reply	other threads:[~2020-07-16  6:45 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-16  6:45 Darrick J. Wong [this message]
2020-07-16  6:45 ` [PATCH 01/11] xfs: drop the type parameter from xfs_dquot_verify Darrick J. Wong
2020-07-16 23:32   ` Dave Chinner
2020-07-21 14:54   ` Christoph Hellwig
2020-07-16  6:45 ` [PATCH 02/11] xfs: rename XFS_DQ_{USER,GROUP,PROJ} to XFS_DQTYPE_* Darrick J. Wong
2020-07-16 23:36   ` Dave Chinner
2020-07-21 14:54   ` Christoph Hellwig
2020-07-16  6:45 ` [PATCH 03/11] xfs: refactor testing if a particular dquot is being enforced Darrick J. Wong
2020-07-16 23:47   ` Dave Chinner
2020-07-21 14:55   ` Christoph Hellwig
2020-07-16  6:45 ` [PATCH 04/11] xfs: remove the XFS_QM_IS[UGP]DQ macros Darrick J. Wong
2020-07-16 23:49   ` Dave Chinner
2020-07-21 14:55   ` Christoph Hellwig
2020-07-16  6:45 ` [PATCH 05/11] xfs: refactor quota type testing Darrick J. Wong
2020-07-16 23:51   ` Dave Chinner
2020-07-21 14:56   ` Christoph Hellwig
2020-07-16  6:45 ` [PATCH 06/11] xfs: always use xfs_dquot_type when extracting type from a dquot Darrick J. Wong
2020-07-16 23:57   ` Dave Chinner
2020-07-21 14:56   ` Christoph Hellwig
2020-07-16  6:46 ` [PATCH 07/11] xfs: remove unnecessary quota type masking Darrick J. Wong
2020-07-17  0:01   ` Dave Chinner
2020-07-21 14:57   ` Christoph Hellwig
2020-07-16  6:46 ` [PATCH 08/11] xfs: replace a few open-coded XFS_DQTYPE_REC_MASK uses Darrick J. Wong
2020-07-17  0:02   ` Dave Chinner
2020-07-17  1:07     ` Darrick J. Wong
2020-07-17  1:18       ` Dave Chinner
2020-07-21 14:57   ` Christoph Hellwig
2020-07-16  6:46 ` [PATCH 09/11] xfs: create xfs_dqtype_t to represent quota types Darrick J. Wong
2020-07-17  0:08   ` Dave Chinner
2020-07-21 14:58   ` Christoph Hellwig
2020-07-16  6:46 ` [PATCH 10/11] xfs: improve ondisk dquot flags checking Darrick J. Wong
2020-07-17  0:13   ` Dave Chinner
2020-07-17  1:05     ` Darrick J. Wong
2020-07-17  1:11       ` Dave Chinner
2020-07-17  1:12   ` [PATCH v2 " Darrick J. Wong
2020-07-17  1:18     ` Dave Chinner
2020-07-21 14:58     ` Christoph Hellwig
2020-07-16  6:46 ` [PATCH 11/11] xfs: rename the ondisk dquot d_flags to d_type Darrick J. Wong
2020-07-17  0:15   ` Dave Chinner
2020-07-21 14:59   ` Christoph Hellwig

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=159488191927.3813063.6443979621452250872.stgit@magnolia \
    --to=darrick.wong@oracle.com \
    --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).