Hi all, Here's a proper v1 of the quotaoff logging rework. Changes from the RFC are fairly straightforward and listed below. The one outstanding bit of feedback from the RFC is the lock / memory ordering question around the quota flags update. My understanding is that the percpu rwsem provides the required consistency through a combination of explicit memory barriers and RCU, so I opted to drop the unnecessary wrapper functions to make the locking more clear (along with comment updates) and also eliminate freeze/unfreeze naming confusion. Thoughts, reviews, flames appreciated. Brian v1: - Replace patch 2 with a proper internal quiesce mechanism. - Remove unnecessary freeze/unfreeze helpers. - Relocate quotaoff end transaction to commit inside quiesce window. - Clean up comments and document new algorithm. rfc: https://lore.kernel.org/linux-xfs/20200929141228.108688-1-bfoster@xxxxxxxxxx/ Brian Foster (3): xfs: skip dquot reservations if quota is inactive xfs: transaction subsystem quiesce mechanism xfs: rework quotaoff logging to avoid log deadlock on active fs fs/xfs/xfs_aops.c | 2 + fs/xfs/xfs_mount.h | 3 + fs/xfs/xfs_qm_syscalls.c | 133 +++++++++++++++++++-------------------- fs/xfs/xfs_super.c | 8 +++ fs/xfs/xfs_trans.c | 4 +- fs/xfs/xfs_trans.h | 20 ++++++ fs/xfs/xfs_trans_dquot.c | 22 +++---- 7 files changed, 111 insertions(+), 81 deletions(-) -- 2.25.4