Hi all, At some point, I realized that I've refactored enough of the quota code in XFS that I should evaluate whether or not quota actually works on realtime volumes. It turns out that it nearly works: the only broken pieces are chown and delayed allocation, and reporting of project quotas in the statvfs output for projinherit+rtinherit directories. Fix these things and we can have realtime quotas again after 20 years. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. This has been running on the djcloud for months with no problems. 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=realtime-quotas xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=realtime-quotas fstests git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=realtime-quotas --- Commits in this patchset: * xfs: fix chown with rt quota * xfs: advertise realtime quota support in the xqm stat files * xfs: report realtime block quota limits on realtime directories * xfs: create quota preallocation watermarks for realtime quota * xfs: reserve quota for realtime files correctly * xfs: enable realtime quota again --- fs/xfs/xfs_dquot.c | 41 +++++++++++++++---------- fs/xfs/xfs_dquot.h | 18 +++++++++-- fs/xfs/xfs_iomap.c | 37 ++++++++++++++++++----- fs/xfs/xfs_qm.c | 75 +++++++++++++++++++++++++++++++--------------- fs/xfs/xfs_qm_bhv.c | 18 +++++++---- fs/xfs/xfs_quota.h | 12 ++++--- fs/xfs/xfs_rtalloc.c | 4 ++ fs/xfs/xfs_stats.c | 12 ++++++- fs/xfs/xfs_super.c | 11 +++---- fs/xfs/xfs_trans.c | 31 ++++++++++++++++++- fs/xfs/xfs_trans_dquot.c | 11 +++++++ 11 files changed, 194 insertions(+), 76 deletions(-)