diff options
author | Donald Douwsma <donaldd@sgi.com> | 2007-05-08 13:49:09 +1000 |
---|---|---|
committer | Tim Shimmin <tes@sgi.com> | 2007-05-08 13:49:09 +1000 |
commit | 646d5bdab38c88f4b9088d4e517986a3f3b0edb9 (patch) | |
tree | a04479394ed446f94ffc7e712205d8c76f686a57 /fs/xfs | |
parent | e7a23a9b37c395a153a541d4c50e166eef6abe49 (diff) | |
download | linux-3.10-646d5bdab38c88f4b9088d4e517986a3f3b0edb9.tar.gz linux-3.10-646d5bdab38c88f4b9088d4e517986a3f3b0edb9.tar.bz2 linux-3.10-646d5bdab38c88f4b9088d4e517986a3f3b0edb9.zip |
[XFS] Invalidate quotacheck when mounting without a quota type.
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>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/quota/xfs_qm.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c index 762af2d1b50..3e4a8ad8a34 100644 --- a/fs/xfs/quota/xfs_qm.c +++ b/fs/xfs/quota/xfs_qm.c @@ -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: /* |