[PATCH v3 04/12] xfs: calculate xfs_qm_write_sb_changes() space log reservation at mount time

Jeff Liu jeff.liu at oracle.com
Thu Jan 24 05:10:59 CST 2013


For the transaction that write the incore superblock changes of quota
flags to disk, it would reserve the same log space to clear/reset quota
flags transaction, so we can use XFS_TRANS_SBCHANGE_LOG_RES() for it as well.


Signed-off-by: Jie Liu <jeff.liu at oracle.com>
---
 fs/xfs/xfs_qm.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
index 2e86fa0..5745189 100644
--- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c
@@ -1582,10 +1582,9 @@ xfs_qm_write_sb_changes(
 	int		error;
 
 	tp = xfs_trans_alloc(mp, XFS_TRANS_QM_SBCHANGE);
-	if ((error = xfs_trans_reserve(tp, 0,
-				      mp->m_sb.sb_sectsize + 128, 0,
-				      0,
-				      XFS_DEFAULT_LOG_COUNT))) {
+	error = xfs_trans_reserve(tp, 0, XFS_QM_SBCHANGE_LOG_RES(mp),
+				  0, 0, XFS_DEFAULT_LOG_COUNT);
+	if (error) {
 		xfs_trans_cancel(tp, 0);
 		return error;
 	}
-- 
1.7.9.5



More information about the xfs mailing list