[PATCH v8 0/5] xfs: Allow pquota and gquota to be used together

Chandra Seetharaman
2013-05-10T21:21:44Z

Hello All,

This is the version 8 of the changes to allow pquota and gquota to be used
together.

Patchset applies cleanly on top of 7dfbcbefad4b24d9822d04dbd7b5dd5c3fd45076
in xfs git tree.

Ran latest xfstests against it.

Changes from version 7 to version 8:
- Rebased to the current code.
- Modified code to use the new pquotino field in version 5
of the superblock.

Version 7 can be found at:
http://oss.sgi.com/archives/xfs/2013-03/msg00671.html

Changes from version 6 to version 7:
- Made all the changes suggested by Dave Chinner
- Added padding to fs_quota_stat, which made the new
data structure field ordering different from the old data
structure field ordering. So, copied the old version
to be _v1 version and used that if old version of data
structure was provided from user space.

Version 6 can be found at:
http://oss.sgi.com/archives/xfs/2012-07/msg00286.html

Changes from version 5 to version 6:
- Use radix tree instead of hash table

Version 5 can be found at:
http://oss.sgi.com/archives/xfs/2012-03/msg00310.html

Changes fron version 4 to version 5:
rebase with the current tree one simple change.

Version 4 can be found at
http://oss.sgi.com/archives/xfs/2012-02/msg00528.html

Changes from version 3 to version 4:
- Remove save_flags with storing the value (in to superblock)
based on field type info
- fix checkpatch.pl warnings and errors

Version 3 of the posting can be found at
http://oss.sgi.com/archives/xfs/2012-01/msg00309.html

Changes from version 2 to version 3:
- hash table for pquota is added.
- changes to apply cleanly with the latest tree

version 2 of the posting can be found at
http://oss.sgi.com/archives/xfs/2011-10/msg00470.html

Changes from version 1 to version 2:

- Created a new prep patch to accomodate some generic changes that ease
the later patches.
- Created a new patch to add a new field qs_pquota to fs_quota_stat
with appropriate versioning changes
- Changed the logic to allow XFS_OQUOTA.* flags to be allowed only in
the older versions.
- Changed couple of places where PQUOTA checking was on the else if
construct so as to allow both GQUOTA and PQUOTA in those places.
- Fixed comments in xfs_quota.h to reflect the current changes.
- Changed the name of the macro XFS_SB_VERSION2_SEPER_PQUOTA to
XFS_SB_VERSION2_NO_OQUOTA
- got rid of the macros XFS_MOUNT_QUOTA_SET1 and XFS_MOUNT_QUOTA_SET2
- added a new inline function xfs_inode_dquot(ip, type) to simplify
the error path in xfs_qm_dqget()
- got rid of the macro XFS_IS_THIS_QUOTA_OFF
- added comment to explain why sb_qflags is saved and restored in
xfs_sb_to_disk()

version 1 of the posting can be found at
http://oss.sgi.com/archives/xfs/2011-10/msg00341.html

Thanks & Regards,

chandra
Chandra Seetharaman (5):
xfs: Remove incore use of XFS_OQUOTA_ENFD and XFS_OQUOTA_CHKD
xfs: Add pquota fields where gquota is used.
xfs: Start using pquotaino from the superblock
xfs: Add proper versioning support to fs_quota_stat
xfs: Use new qs_pquota field in fs_quota_stat for Q_XGETQSTAT

fs/gfs2/quota.c | 3 -
fs/quota/quota.c | 40 ++++-
fs/xfs/xfs_dquot.c | 33 +++-
fs/xfs/xfs_dquot.h | 13 +-
fs/xfs/xfs_icache.c | 4 +-
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_ioctl.c | 14 +-
fs/xfs/xfs_iops.c | 4 +-
fs/xfs/xfs_itable.c | 3 +-
fs/xfs/xfs_mount.c | 102 +++++++++++
fs/xfs/xfs_qm.c | 379 ++++++++++++++++++++++++++--------------
fs/xfs/xfs_qm.h | 53 ++++--
fs/xfs/xfs_qm_bhv.c | 2 +-
fs/xfs/xfs_qm_syscalls.c | 125 +++++++++-----
fs/xfs/xfs_quota.h | 78 +++++----
fs/xfs/xfs_quotaops.c | 6 +-
fs/xfs/xfs_sb.h | 5 +
fs/xfs/xfs_super.c | 35 ++--
fs/xfs/xfs_symlink.c | 13 +-
fs/xfs/xfs_trans_dquot.c | 102 ++++++-----
fs/xfs/xfs_vnodeops.c | 12 +-
include/uapi/linux/dqblk_xfs.h | 37 ++++-
22 files changed, 731 insertions(+), 333 deletions(-)