diff options
author | Jeff Liu <jeff.liu@oracle.com> | 2013-01-28 21:27:15 +0800 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2013-02-01 14:44:29 -0600 |
commit | a1bd9557544d59140c4ac87fe405069b9e1aaf99 (patch) | |
tree | 5eb50503490c1882d7c15afc05a9260ee54d23ae /fs/xfs/xfs_trans.c | |
parent | 4800104438a4467ffa5ae1e51d5a59c0f64e5f9a (diff) | |
download | op-kernel-dev-a1bd9557544d59140c4ac87fe405069b9e1aaf99.zip op-kernel-dev-a1bd9557544d59140c4ac87fe405069b9e1aaf99.tar.gz |
xfs: calculate XFS_TRANS_QM_QUOTAOFF space log reservation at mount time
Convert the calculation of quota off transaction log space reservation
from runtime to mount time.
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
CC: Dave Chinner <david@fromorbit.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans.c')
-rw-r--r-- | fs/xfs/xfs_trans.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index 6dd2c04..a557c82 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c @@ -582,6 +582,19 @@ xfs_calc_qm_dqalloc_reservation( } /* + * Turning off quotas. + * the xfs_qoff_logitem_t: sizeof(struct xfs_qoff_logitem) * 2 + * the superblock for the quota flags: sector size + */ +STATIC uint +xfs_calc_qm_quotaoff_reservation( + struct xfs_mount *mp) +{ + return sizeof(struct xfs_qoff_logitem) * 2 + + xfs_calc_buf_res(1, mp->m_sb.sb_sectsize); +} + +/* * Initialize the precomputed transaction reservation values * in the mount structure. */ @@ -615,6 +628,7 @@ xfs_trans_init( resp->tr_qm_sbchange = xfs_calc_qm_sbchange_reservation(mp); resp->tr_qm_setqlim = xfs_calc_qm_setqlim_reservation(mp); resp->tr_qm_dqalloc = xfs_calc_qm_dqalloc_reservation(mp); + resp->tr_qm_quotaoff = xfs_calc_qm_quotaoff_reservation(mp); } /* |