aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2008-04-09 22:20:17 -0400
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-04-17 21:54:56 -0400
commit4b8879df8c21bed3efd1eb2da5d72501199aba29 (patch)
tree4a6991a366e93cd1aebf834f8172dbb83d636c6c /fs/xfs/quota
parent5b1397385bf536cbdb60f3362f44079d15d5f5ee (diff)
[XFS] Propagate xfs_qm_dqflush_all() errors.
xfs_qm_dqflush_all() can return flush errors. Ensure they are propagated into the quotacheck code to determine if the quotacheck succeeded or not. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30786a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Niv Sardi <xaiki@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r--fs/xfs/quota/xfs_qm.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c
index dec5f95e8470..04b29c672141 100644
--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -1878,6 +1878,14 @@ xfs_qm_quotacheck(
1878 } while (! done); 1878 } while (! done);
1879 1879
1880 /* 1880 /*
1881 * We've made all the changes that we need to make incore.
1882 * Flush them down to disk buffers if everything was updated
1883 * successfully.
1884 */
1885 if (!error)
1886 error = xfs_qm_dqflush_all(mp, XFS_QMOPT_DELWRI);
1887
1888 /*
1881 * We can get this error if we couldn't do a dquot allocation inside 1889 * We can get this error if we couldn't do a dquot allocation inside
1882 * xfs_qm_dqusage_adjust (via bulkstat). We don't care about the 1890 * xfs_qm_dqusage_adjust (via bulkstat). We don't care about the
1883 * dirty dquots that might be cached, we just want to get rid of them 1891 * dirty dquots that might be cached, we just want to get rid of them
@@ -1888,11 +1896,6 @@ xfs_qm_quotacheck(
1888 xfs_qm_dqpurge_all(mp, XFS_QMOPT_QUOTALL | XFS_QMOPT_QUOTAOFF); 1896 xfs_qm_dqpurge_all(mp, XFS_QMOPT_QUOTALL | XFS_QMOPT_QUOTAOFF);
1889 goto error_return; 1897 goto error_return;
1890 } 1898 }
1891 /*
1892 * We've made all the changes that we need to make incore.
1893 * Now flush_them down to disk buffers.
1894 */
1895 xfs_qm_dqflush_all(mp, XFS_QMOPT_DELWRI);
1896 1899
1897 /* 1900 /*
1898 * We didn't log anything, because if we crashed, we'll have to 1901 * We didn't log anything, because if we crashed, we'll have to