aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota/xfs_qm.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/quota/xfs_qm.c')
-rw-r--r--fs/xfs/quota/xfs_qm.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index 1de2acdc7f70..3e4a8ad8a34c 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -388,6 +388,17 @@ xfs_qm_mount_quotas(
388 return XFS_ERROR(error); 388 return XFS_ERROR(error);
389 } 389 }
390 } 390 }
391 /*
392 * If one type of quotas is off, then it will lose its
393 * quotachecked status, since we won't be doing accounting for
394 * that type anymore.
395 */
396 if (!XFS_IS_UQUOTA_ON(mp)) {
397 mp->m_qflags &= ~XFS_UQUOTA_CHKD;
398 }
399 if (!(XFS_IS_GQUOTA_ON(mp) || XFS_IS_PQUOTA_ON(mp))) {
400 mp->m_qflags &= ~XFS_OQUOTA_CHKD;
401 }
391 402
392 write_changes: 403 write_changes:
393 /* 404 /*
@@ -1453,8 +1464,7 @@ xfs_qm_qino_alloc(
1453 XFS_SB_UNLOCK(mp, s); 1464 XFS_SB_UNLOCK(mp, s);
1454 xfs_mod_sb(tp, sbfields); 1465 xfs_mod_sb(tp, sbfields);
1455 1466
1456 if ((error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES, 1467 if ((error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES))) {
1457 NULL))) {
1458 xfs_fs_cmn_err(CE_ALERT, mp, "XFS qino_alloc failed!"); 1468 xfs_fs_cmn_err(CE_ALERT, mp, "XFS qino_alloc failed!");
1459 return error; 1469 return error;
1460 } 1470 }
@@ -2405,7 +2415,7 @@ xfs_qm_write_sb_changes(
2405 } 2415 }
2406 2416
2407 xfs_mod_sb(tp, flags); 2417 xfs_mod_sb(tp, flags);
2408 (void) xfs_trans_commit(tp, 0, NULL); 2418 (void) xfs_trans_commit(tp, 0);
2409 2419
2410 return 0; 2420 return 0;
2411} 2421}