diff options
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/quota/xfs_qm.c | 13 |
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 |