linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/22] xfs: remove xfs_disk_quot from incore dquot
@ 2020-07-05 22:12 Darrick J. Wong
  2020-07-05 22:12 ` [PATCH 01/22] xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush Darrick J. Wong
                   ` (21 more replies)
  0 siblings, 22 replies; 27+ messages in thread
From: Darrick J. Wong @ 2020-07-05 22:12 UTC (permalink / raw)
  To: darrick.wong
  Cc: Christoph Hellwig, Brian Foster, Chandan Babu R, Allison Collins,
	Dave Chinner, linux-xfs

Hi all,

This series replaces q_core (the ondisk quota structure) in the incore
dquot structure with a quota resource control structure containing the
count, reservation, limits, timers, and warnings.  Each dquot gets three
of these resource control structures (blocks, inodes, rt blocks).

Doing this enables us to remove a whole lot of noisy endian conversions
in the quota code, and enables us to refactor a bunch of open-coded
logic to pass around pointers to quota resource control structs.

Note that these cleanups are a prerequisite for the bigtime patchset, as
it depends on incore quota timers being time64_t to take advantage of
the 64-bit time functions in the kernel with fewer places to trip over
the ondisk format.

In v2 we do some more work cleaning up the d_flags/dq_flags mess,
finally add the dquot cluster size to the ondisk format declarations
(because the cluster size actually /does/ affect that), shorten some of
the long names from v1, and fix quota warning count having been broken
for years.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

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

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=remove-quota-qcore

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=remove-quota-qcore
---
 fs/xfs/libxfs/xfs_dquot_buf.c   |   15 +-
 fs/xfs/libxfs/xfs_format.h      |   28 +++
 fs/xfs/libxfs/xfs_quota_defs.h  |    6 -
 fs/xfs/scrub/quota.c            |   69 +++-----
 fs/xfs/xfs_dquot.c              |  289 +++++++++++++++++++---------------
 fs/xfs/xfs_dquot.h              |   54 +++++-
 fs/xfs/xfs_dquot_item.c         |    8 +
 fs/xfs/xfs_dquot_item_recover.c |    4 
 fs/xfs/xfs_iomap.c              |    6 -
 fs/xfs/xfs_qm.c                 |  113 +++++++------
 fs/xfs/xfs_qm.h                 |   51 ++----
 fs/xfs/xfs_qm_bhv.c             |   20 +-
 fs/xfs/xfs_qm_syscalls.c        |  231 ++++++++++++++-------------
 fs/xfs/xfs_quotaops.c           |   12 +
 fs/xfs/xfs_trace.h              |  160 +++++++++++++++++--
 fs/xfs/xfs_trans_dquot.c        |  330 ++++++++++++++++++++-------------------
 16 files changed, 798 insertions(+), 598 deletions(-)


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2020-07-09 23:40 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-05 22:12 [PATCH v2 00/22] xfs: remove xfs_disk_quot from incore dquot Darrick J. Wong
2020-07-05 22:12 ` [PATCH 01/22] xfs: clear XFS_DQ_FREEING if we can't lock the dquot buffer to flush Darrick J. Wong
2020-07-05 22:12 ` [PATCH 02/22] xfs: fix inode quota reservation checks Darrick J. Wong
2020-07-05 22:12 ` [PATCH 03/22] xfs: validate ondisk/incore dquot flags Darrick J. Wong
2020-07-09 13:40   ` Christoph Hellwig
2020-07-05 22:13 ` [PATCH 04/22] xfs: split " Darrick J. Wong
2020-07-09 13:46   ` Christoph Hellwig
2020-07-09 23:37     ` Darrick J. Wong
2020-07-05 22:13 ` [PATCH 05/22] xfs: make XFS_DQUOT_CLUSTER_SIZE_FSB part of the ondisk format Darrick J. Wong
2020-07-09 13:47   ` Christoph Hellwig
2020-07-05 22:13 ` [PATCH 06/22] xfs: stop using q_core.d_flags in the quota code Darrick J. Wong
2020-07-05 22:13 ` [PATCH 07/22] xfs: stop using q_core.d_id " Darrick J. Wong
2020-07-05 22:13 ` [PATCH 08/22] xfs: use a per-resource struct for incore dquot data Darrick J. Wong
2020-07-05 22:13 ` [PATCH 09/22] xfs: stop using q_core limits in the quota code Darrick J. Wong
2020-07-05 22:13 ` [PATCH 10/22] xfs: stop using q_core counters " Darrick J. Wong
2020-07-05 22:13 ` [PATCH 11/22] xfs: stop using q_core warning " Darrick J. Wong
2020-07-05 22:13 ` [PATCH 12/22] xfs: stop using q_core timers " Darrick J. Wong
2020-07-05 22:13 ` [PATCH 13/22] xfs: remove qcore from incore dquots Darrick J. Wong
2020-07-05 22:14 ` [PATCH 14/22] xfs: refactor default quota limits by resource Darrick J. Wong
2020-07-05 22:14 ` [PATCH 15/22] xfs: remove unnecessary arguments from quota adjust functions Darrick J. Wong
2020-07-05 22:14 ` [PATCH 16/22] xfs: refactor quota exceeded test Darrick J. Wong
2020-07-05 22:14 ` [PATCH 17/22] xfs: refactor xfs_qm_scall_setqlim Darrick J. Wong
2020-07-05 22:14 ` [PATCH 18/22] xfs: refactor xfs_trans_dqresv Darrick J. Wong
2020-07-05 22:14 ` [PATCH 19/22] xfs: refactor xfs_trans_apply_dquot_deltas Darrick J. Wong
2020-07-05 22:14 ` [PATCH 20/22] xfs: assume the default quota limits are always set in xfs_qm_adjust_dqlimits Darrick J. Wong
2020-07-05 22:14 ` [PATCH 21/22] xfs: actually bump warning counts when we send warnings Darrick J. Wong
2020-07-05 22:14 ` [PATCH 22/22] xfs: add more dquot tracepoints Darrick J. Wong

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).