xfs
[Top] [All Lists]

Re: [PATCH] quota: don't disable accounting with quotaoff

To: Eric Sandeen <sandeen@xxxxxxxxxx>
Subject: Re: [PATCH] quota: don't disable accounting with quotaoff
From: Jan Kara <jack@xxxxxxx>
Date: Mon, 14 Jun 2010 12:10:36 +0200
Cc: xfs@xxxxxxxxxxx
In-reply-to: <4C12B40A.2070405@xxxxxxxxxx>
References: <4C12B40A.2070405@xxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
  Hi,

On Fri 11-06-10 17:09:14, Eric Sandeen wrote:
> The quotaon(8) man page says:
> 
> NOTES ON XFS FILESYSTEMS
> ...
>        To turn off quota limit enforcement on any XFS filesys-
>        tem, first make sure that quota accounting and enforce-
>        ment  are  both turned on using repquota -v filesystem.
>        Then, use  quotaoff  -v  filesystem  to  disable  limit
>        enforcement.   This may be done while the filesystem is
>        mounted.
> 
>        Turning on quota limit enforcement on an XFS filesystem
>        is  achieved  using quotaon -v filesystem.  This may be
>        done while the filesystem is mounted
> 
> however, quotaoff turns off both enforcement -and- accounting,
> and then quotaon fails.
> 
> If the manpage describes the intended behavior, then I think the
> following patch is needed.
  Yes, I think this behavior makes more sence. Applied.

                                                                Honza
> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
> 
> --- quota-tools/quotaon_xfs.c 2010-01-05 10:39:54.000000000 -0500
> +++ quota-tools-mine/quotaon_xfs.c    2010-06-11 17:45:12.000000000 -0400
> @@ -208,10 +208,9 @@
>       }
>  #endif /* XFS_ROOTHACK */
>  
> -     if (xarg == NULL) {     /* both acct & enfd on/off */
> -             xopts |= (type == USRQUOTA) ?
> -                     (XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_UDQ_ENFD) :
> -                     (XFS_QUOTA_GDQ_ACCT | XFS_QUOTA_GDQ_ENFD);
> +     if (xarg == NULL) {     /* only enfd on/off */
> +             xopts |= (type == USRQUOTA) ? XFS_QUOTA_UDQ_ENFD :
> +                     XFS_QUOTA_GDQ_ENFD;
>               err = xfs_onoff((char *)dev, type, flags, roothack, xopts);
>       }
>       else if (strcmp(xarg, "account") == 0) {
> 
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR

<Prev in Thread] Current Thread [Next in Thread>