mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
xfs: increase log reservations for reflink
Increase the log reservations to handle the increased rolling that happens at the end of copy-on-write operations. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
83104d449e
commit
80de462e09
@ -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;
|
||||
|
||||
/*
|
||||
|
@ -87,6 +87,7 @@ struct xfs_trans_resv {
|
||||
#define XFS_DEFAULT_LOG_COUNT 1
|
||||
#define XFS_DEFAULT_PERM_LOG_COUNT 2
|
||||
#define XFS_ITRUNCATE_LOG_COUNT 2
|
||||
#define XFS_ITRUNCATE_LOG_COUNT_REFLINK 8
|
||||
#define XFS_INACTIVE_LOG_COUNT 2
|
||||
#define XFS_CREATE_LOG_COUNT 2
|
||||
#define XFS_CREATE_TMPFILE_LOG_COUNT 2
|
||||
@ -96,6 +97,7 @@ struct xfs_trans_resv {
|
||||
#define XFS_LINK_LOG_COUNT 2
|
||||
#define XFS_RENAME_LOG_COUNT 2
|
||||
#define XFS_WRITE_LOG_COUNT 2
|
||||
#define XFS_WRITE_LOG_COUNT_REFLINK 8
|
||||
#define XFS_ADDAFORK_LOG_COUNT 2
|
||||
#define XFS_ATTRINVAL_LOG_COUNT 1
|
||||
#define XFS_ATTRSET_LOG_COUNT 3
|
||||
|
Loading…
Reference in New Issue
Block a user