[XFS] Invalidate quotacheck when mounting without a quota type.
authorDonald Douwsma <donaldd@sgi.com>
Tue, 8 May 2007 03:49:09 +0000 (13:49 +1000)
committerTim Shimmin <tes@sgi.com>
Tue, 8 May 2007 03:49:09 +0000 (13:49 +1000)
When quotas are mounted or remounted without a particular quota type the
quota accounting for that type becomes invalid. Previously we were
ignoring this leading to accounting errors.

SGI-PV: 961964
SGI-Modid: xfs-linux-melb:xfs-kern:28225a

Signed-off-by: Donald Douwsma <donaldd@sgi.com>
Signed-off-by: Utako Kusaka <utako@tnes.nec.co.jp>
Signed-off-by: Vlad Apostolov <vapo@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
fs/xfs/quota/xfs_qm.c

index 762af2d..3e4a8ad 100644 (file)
@@ -388,6 +388,17 @@ xfs_qm_mount_quotas(
                        return XFS_ERROR(error);
                }
        }
+       /* 
+        * If one type of quotas is off, then it will lose its
+        * quotachecked status, since we won't be doing accounting for
+        * that type anymore.
+        */
+       if (!XFS_IS_UQUOTA_ON(mp)) {
+               mp->m_qflags &= ~XFS_UQUOTA_CHKD;
+       }
+       if (!(XFS_IS_GQUOTA_ON(mp) || XFS_IS_PQUOTA_ON(mp))) {
+               mp->m_qflags &= ~XFS_OQUOTA_CHKD;
+       }
 
  write_changes:
        /*