Skip to content

xfs-4.18: quota refactor

Darrick J. Wong linux-xfs 3 versions – In review

Get series with b4
b4 am 152596612549.27525.9876256551560849585.stgit@magnolia

Versions newest first · linked by author and title

  1. v3 Latest14 patches 2 repliesIn review
  2. v21 patch 1 replySuperseded
  3. v11 patch 6 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14xfs: release new dquot buffer on defer_finish errorfs/xfs/xfs_dquot.c+28 -200 replies
2/14xfs: don't spray logs when dquot flush/purge failfs/xfs/xfs_dquot_item.c fs/xfs/xfs_qm.c+3 -120 replies
3/14xfs: refactor XFS_QMOPT_DQNEXT out of existencefs/xfs/libxfs/xfs_quota_defs.h fs/xfs/scrub/quota.c fs/xfs/xfs_dquot.c +4 more+108 -710 replies
4/14xfs: refactor dquot cache handlingfs/xfs/xfs_dquot.c+78 -340 replies
5/14xfs: delegate dqget input checks to helper functionfs/xfs/xfs_dquot.c+31 -90 replies
6/14xfs: remove unnecessary xfs_qm_dqattach parameterfs/xfs/libxfs/xfs_attr.c fs/xfs/xfs_bmap_util.c fs/xfs/xfs_inode.c +5 more+19 -200 replies
7/14xfs: split out dqget for inodes from regular dqgetfs/xfs/xfs_dquot.c fs/xfs/xfs_dquot.h fs/xfs/xfs_iomap.c +5 more+134 -770 replies
8/14xfs: fetch dquots directly during quotacheckfs/xfs/xfs_qm.c+12 -160 replies
9/14xfs: refactor incore dquot initialization functionsfs/xfs/xfs_dquot.c+51 -300 replies
10/14xfs: refactor xfs_qm_dqtobp and xfs_qm_dqallocfs/xfs/xfs_dquot.c+122 -1480 replies
11/14xfs: remove direct calls to _qm_dqreadfs/xfs/xfs_dquot.c fs/xfs/xfs_dquot.h fs/xfs/xfs_qm.c+39 -150 replies
12/14xfs: replace XFS_QMOPT_DQALLOC with a simple booleanfs/xfs/libxfs/xfs_quota_defs.h fs/xfs/xfs_dquot.c fs/xfs/xfs_dquot.h +3 more+19 -280 replies
13/14xfs: rename on-disk dquot counter zap functionsfs/xfs/xfs_qm.c+8 -81 reply
14/14xfs: refactor dquot iterationfs/xfs/scrub/quota.c fs/xfs/xfs_dquot.c fs/xfs/xfs_dquot.h+63 -301 reply

Reviews trailers per patch

All 14 patches have a Reviewed-by or Acked-by.

PatchBrian FosterChristoph Hellwig
1/14R-b
2/14R-b
3/14R-b R-b
4/14R-b R-b
5/14R-b R-b
6/14R-b R-b
7/14R-b R-b
8/14R-b R-b
9/14R-b R-b
10/14R-b
11/14R-b R-b
12/14R-b
13/14R-b R-b
14/14R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 00/14] xfs-4.18: quota refactor

Hi all,

Here's a series to refactor and clean out the incohesive mess that xfs_qm_dqget has become. I'm reposting this per Christoph request since the v2 thread became very hairy and disorganized.

I've distinguished three contexts in which dqget can be called, and converted them into separate externally visible interfaces -- _qm_dqget_next, which returns the first initialized dquot with an id at least as high as the id passed in; _qm_dqget_inode, which returns the dquot for a given (inode, type); and so _qm_dqget now only returns the dquot for a given (id, type). I removed unused parameters from the dqattach functions, renamed _qm_dqiterate (since it now only knows how to zap dquot counters during quotacheck), and added a real function to iterate all dquots of a given type. I also re-hid _qm_dqread in favor of a new _qm_dqget_uncached which has a better description of why we bypass the dquot cache.

This means that all _dqget variants no longer take QMOPT flags, and QMOPT_NEXT is gone. XFS_QMOPT_DQALLOC is now a boolean and can only be specified for functions where it makes sense.

This whole thing will be in for-next tomorrow, with any luck.

--D