Re: RFC: don't allow disabling quota accounting on a mounted file system

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

 



On Tue, Apr 20, 2021 at 09:22:54AM +0200, Christoph Hellwig wrote:
> Hi all,
> 
> disabling quota accounting (vs just enforcement) on a running file system
> is a fundamentally race and hard to get right operation.  It also has
> very little practical use.
> 
> This causes xfs/007 xfs/106 xfs/220 xfs/304 xfs/305 to fail, as they
> specifically test this functionality.

What kind of failures do you get now?  Are they all a result of the
_ACCT flags never going away?  Which I guess means that tests expecting
to get ENOSYS after you turn off _ACCT will now no longer error out?

I've been wondering recently why we can't just apply "xfs: skip dquot
reservations if quota is inactive" and change dqpurge_all to relog the
quotaoff item if !xfs_log_item_in_current_chkpt to prevent tail pinning.
AFAICT we can log a qoffend and a new qoff (just like we do with regular
intents) and it won't have any bad effect on recovery.

--D

> 
> Note that the quotaitem log recovery code is left for to make sure we
> don't increase inconsistent recovery states.
> 
> Diffstat:
>  libxfs/xfs_quota_defs.h |   30 ----
>  libxfs/xfs_trans_resv.c |   30 ----
>  libxfs/xfs_trans_resv.h |    2 
>  scrub/quota.c           |    2 
>  xfs_dquot.c             |    3 
>  xfs_dquot_item.c        |  134 ---------------------
>  xfs_dquot_item.h        |   17 --
>  xfs_ioctl.c             |    2 
>  xfs_iops.c              |    4 
>  xfs_mount.c             |    4 
>  xfs_qm.c                |   28 ++--
>  xfs_qm.h                |    4 
>  xfs_qm_syscalls.c       |  300 ------------------------------------------------
>  xfs_quotaops.c          |   57 +++++----
>  xfs_super.c             |   51 +++-----
>  xfs_trans_dquot.c       |   49 -------
>  16 files changed, 84 insertions(+), 633 deletions(-)



[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