This is the version 11 of the changes to allow pquota and gquota to be used
Patchset applies cleanly on top of 42c49d7f249c2487f36d3314753d5d8ebcee8249
in xfs git tree.
Chandra Seetharaman (4):
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 | 67 ++++++++++-
fs/xfs/xfs_dquot.c | 15 ++-
fs/xfs/xfs_dquot.h | 7 +-
fs/xfs/xfs_icache.c | 1 +
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_ioctl.c | 14 +-
fs/xfs/xfs_iops.c | 4 +-
fs/xfs/xfs_mount.c | 62 +++++++++--
fs/xfs/xfs_qm.c | 259 ++++++++++++++++++++++++++++------------
fs/xfs/xfs_qm.h | 20 ++-
fs/xfs/xfs_qm_bhv.c | 10 +-
fs/xfs/xfs_qm_syscalls.c | 70 +++++++++---
fs/xfs/xfs_quota.h | 32 +++--
fs/xfs/xfs_sb.h | 9 ++-
fs/xfs/xfs_super.c | 19 ++--
fs/xfs/xfs_symlink.c | 10 +-
fs/xfs/xfs_trans_dquot.c | 26 ++++-
fs/xfs/xfs_vnodeops.c | 13 ++-
include/uapi/linux/dqblk_xfs.h | 59 ++++++++-
20 files changed, 528 insertions(+), 173 deletions(-)
Changes from version 10 to verion 11:
- Few of the patches have been merged.
- Localized all the logic to handle simultaneous use
of XFS_SB_GQUOTINO and XFS_SB_PQUOTINO to xfs_sb_quota_from_disk()
and xfs_sb_from_disk as per Dave's suggestion.
- moved setting sb_pquotino to xfs_sb_quota_frp,_disk() as per
- Added new Q_XGETQSTATV command to handle the new sematics of
quota_stata as per Jan's comment.
- Fixed few nits as per Ben's comment
Version 10 can be found at:
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,