This is the version 10 of the changes to allow pquota and gquota to be used
Patchset applies cleanly on top of 80a4049813a2ae0977d8e5db78e711c7f21c420b
in xfs git tree.
Ran xfstests against it with DEBUG and do not see any regressions.
Chandra Seetharaman (11):
xfs: Define a new function xfs_is_quota_inode()
xfs: Replace macro XFS_DQUOT_TREE with a function
xfs: Replace macro XFS_DQ_TO_QIP with a function
xfs: Code cleanup and removal of some typedef usage
xfs: Do some whitespace cleanup in the data structure xfs_quotainfo
xfs: Change xfs_dquot_acct to be a 2-dimensional array
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 | 49 +++++-
fs/xfs/xfs_dquot.c | 31 ++-
fs/xfs/xfs_dquot.h | 11 +-
fs/xfs/xfs_fsops.c | 3 +-
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 | 2 +-
fs/xfs/xfs_mount.c | 83 ++++++++
fs/xfs/xfs_qm.c | 409 ++++++++++++++++++++++++++--------------
fs/xfs/xfs_qm.h | 143 +++++++++-----
fs/xfs/xfs_qm_bhv.c | 2 +-
fs/xfs/xfs_qm_syscalls.c | 126 ++++++++----
fs/xfs/xfs_quota.h | 79 +++++----
fs/xfs/xfs_quotaops.c | 6 +-
fs/xfs/xfs_sb.h | 20 ++
fs/xfs/xfs_super.c | 35 ++--
fs/xfs/xfs_symlink.c | 13 +-
fs/xfs/xfs_trans_dquot.c | 113 ++++++------
fs/xfs/xfs_vnodeops.c | 13 +-
include/uapi/linux/dqblk_xfs.h | 54 +++++-
23 files changed, 821 insertions(+), 397 deletions(-)
Changes from version 9 to version 10:
- Split prep into 6 patches as per Ben and Dave's suggestion
- Added xfs_sb_quota_from_disk() as per Dave's suggestion
- Made u/g/p ordering consistent
- Fixed fields in fs_quota_stat as per Dave's suggestion
- Moved few ASSERTs to be inside error check as per Ben's suggestion
- Few cosmetic changes
Version 9 can be found at:
Changes from verion 8 to version 9:
- Made all the changes suggested by Dave
- Rearranged code to make the functional changes to
not be cluttered.
Version 8 can be found at:
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:
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:
Changes from version 5 to version 6:
- Use radix tree instead of hash table
Version 5 can be found at:
Changes fron version 4 to version 5:
rebase with the current tree one simple change.
Version 4 can be found at
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
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
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
- 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
version 1 of the posting can be found at
Thanks & Regards,