[PATCH 0/3] xfs: rework quotaoff to avoid log deadlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux