From 60295fb3654add9917d55d041bb4bd6601af4b05 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Wed, 4 Sep 2013 22:05:46 +0000 Subject: [PATCH] xfs: Introduce tr_fsyncts to m_reservation A preparation step. For now fsync_ts transaction use the pre-calculated log reservation size of tr_swrite. This patch introduce a new item tr_fsyncts to mp->m_reservations structure so that we can fetch the log reservation value for it in a same manner to others. Signed-off-by: Jie Liu Reviewed-by: Mark Tinguely Signed-off-by: Rich Johnston --- include/xfs_trans_resv.h | 3 ++- libxfs/xfs_trans_resv.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/xfs_trans_resv.h b/include/xfs_trans_resv.h index 0aac1fa9b..326f17d70 100644 --- a/include/xfs_trans_resv.h +++ b/include/xfs_trans_resv.h @@ -62,6 +62,7 @@ struct xfs_trans_resv { struct xfs_trans_res tr_qm_quotaoff; /* turn quota off */ struct xfs_trans_res tr_qm_equotaoff;/* end of turn quota off */ struct xfs_trans_res tr_sb; /* modify superblock */ + struct xfs_trans_res tr_fsyncts; /* update timestamps on fsync */ }; /* @@ -109,7 +110,7 @@ struct xfs_trans_resv { * Logging the inode timestamps on an fsync -- same as SWRITE * as long as SWRITE logs the entire inode core */ -#define XFS_FSYNC_TS_LOG_RES(mp) ((mp)->m_resv.tr_swrite.tr_logres) +#define XFS_FSYNC_TS_LOG_RES(mp) ((mp)->m_resv.tr_fsyncts.tr_logres) #define XFS_WRITEID_LOG_RES(mp) ((mp)->m_resv.tr_swrite.tr_logres) #define XFS_ADDAFORK_LOG_RES(mp) ((mp)->m_resv.tr_addafork.tr_logres) #define XFS_ATTRSETM_LOG_RES(mp) ((mp)->m_resv.tr_attrsetm.tr_logres) diff --git a/libxfs/xfs_trans_resv.c b/libxfs/xfs_trans_resv.c index e0b8ef677..36aeafe5d 100644 --- a/libxfs/xfs_trans_resv.c +++ b/libxfs/xfs_trans_resv.c @@ -734,6 +734,7 @@ xfs_trans_resv_calc( resp->tr_ichange.tr_logres = xfs_calc_ichange_reservation(mp); resp->tr_growdata.tr_logres = xfs_calc_growdata_reservation(mp); resp->tr_swrite.tr_logres = xfs_calc_swrite_reservation(mp); + resp->tr_fsyncts.tr_logres = xfs_calc_swrite_reservation(mp); resp->tr_writeid.tr_logres = xfs_calc_writeid_reservation(mp); resp->tr_attrsetrt.tr_logres = xfs_calc_attrsetrt_reservation(mp); resp->tr_clearagi.tr_logres = xfs_calc_clear_agi_bucket_reservation(mp); -- 2.47.2