Skip to content

Commit efd53b7

Browse files
hexiaolesmb49
hexiaole
authored andcommitted
xfs: fix inode reservation space for removing transaction
BugLink: https://bugs.launchpad.net/bugs/2050038 [ Upstream commit 031d166 ] In 'fs/xfs/libxfs/xfs_trans_resv.c', the comment for transaction of removing a directory entry writes: /* fs/xfs/libxfs/xfs_trans_resv.c begin */ /* * For removing a directory entry we can modify: * the parent directory inode: inode size * the removed inode: inode size ... xfs_calc_remove_reservation( struct xfs_mount *mp) { return XFS_DQUOT_LOGRES(mp) + xfs_calc_iunlink_add_reservation(mp) + max((xfs_calc_inode_res(mp, 1) + ... /* fs/xfs/libxfs/xfs_trans_resv.c end */ There has 2 inode size of space to be reserverd, but the actual code for inode reservation space writes. There only count for 1 inode size to be reserved in 'xfs_calc_inode_res(mp, 1)', rather than 2. Signed-off-by: hexiaole <[email protected]> Reviewed-by: Darrick J. Wong <[email protected]> [djwong: remove redundant code citations] Signed-off-by: Darrick J. Wong <[email protected]> Signed-off-by: Leah Rumancik <[email protected]> Acked-by: Chandan Babu R <[email protected]> Signed-off-by: Sasha Levin <[email protected]> Signed-off-by: Portia Stephens <[email protected]> Signed-off-by: Stefan Bader <[email protected]>
1 parent 911fa9b commit efd53b7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

fs/xfs/libxfs/xfs_trans_resv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ xfs_calc_remove_reservation(
423423
{
424424
return XFS_DQUOT_LOGRES(mp) +
425425
xfs_calc_iunlink_add_reservation(mp) +
426-
max((xfs_calc_inode_res(mp, 1) +
426+
max((xfs_calc_inode_res(mp, 2) +
427427
xfs_calc_buf_res(XFS_DIROP_LOG_COUNT(mp),
428428
XFS_FSB_TO_B(mp, 1))),
429429
(xfs_calc_buf_res(4, mp->m_sb.sb_sectsize) +

0 commit comments

Comments
 (0)