|
@@ -812,11 +812,18 @@ xfs_trans_resv_calc(
|
|
|
* require a permanent reservation on space.
|
|
|
*/
|
|
|
resp->tr_write.tr_logres = xfs_calc_write_reservation(mp);
|
|
|
- resp->tr_write.tr_logcount = XFS_WRITE_LOG_COUNT;
|
|
|
+ if (xfs_sb_version_hasreflink(&mp->m_sb))
|
|
|
+ resp->tr_write.tr_logcount = XFS_WRITE_LOG_COUNT_REFLINK;
|
|
|
+ else
|
|
|
+ resp->tr_write.tr_logcount = XFS_WRITE_LOG_COUNT;
|
|
|
resp->tr_write.tr_logflags |= XFS_TRANS_PERM_LOG_RES;
|
|
|
|
|
|
resp->tr_itruncate.tr_logres = xfs_calc_itruncate_reservation(mp);
|
|
|
- resp->tr_itruncate.tr_logcount = XFS_ITRUNCATE_LOG_COUNT;
|
|
|
+ if (xfs_sb_version_hasreflink(&mp->m_sb))
|
|
|
+ resp->tr_itruncate.tr_logcount =
|
|
|
+ XFS_ITRUNCATE_LOG_COUNT_REFLINK;
|
|
|
+ else
|
|
|
+ resp->tr_itruncate.tr_logcount = XFS_ITRUNCATE_LOG_COUNT;
|
|
|
resp->tr_itruncate.tr_logflags |= XFS_TRANS_PERM_LOG_RES;
|
|
|
|
|
|
resp->tr_rename.tr_logres = xfs_calc_rename_reservation(mp);
|
|
@@ -873,7 +880,10 @@ xfs_trans_resv_calc(
|
|
|
resp->tr_growrtalloc.tr_logflags |= XFS_TRANS_PERM_LOG_RES;
|
|
|
|
|
|
resp->tr_qm_dqalloc.tr_logres = xfs_calc_qm_dqalloc_reservation(mp);
|
|
|
- resp->tr_qm_dqalloc.tr_logcount = XFS_WRITE_LOG_COUNT;
|
|
|
+ if (xfs_sb_version_hasreflink(&mp->m_sb))
|
|
|
+ resp->tr_qm_dqalloc.tr_logcount = XFS_WRITE_LOG_COUNT_REFLINK;
|
|
|
+ else
|
|
|
+ resp->tr_qm_dqalloc.tr_logcount = XFS_WRITE_LOG_COUNT;
|
|
|
resp->tr_qm_dqalloc.tr_logflags |= XFS_TRANS_PERM_LOG_RES;
|
|
|
|
|
|
/*
|