xfs
[Top] [All Lists]

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

To: Jan Kara <jack@xxxxxxx>
Subject: [PATCH] quota: don't disable accounting with quotaoff
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Fri, 11 Jun 2010 17:09:14 -0500
Cc: xfs-oss <xfs@xxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
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.

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) {

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