xfs: fix inode reservation space for removing transaction
mainline inclusion from mainline-v6.0-rc1 commit 031d166f category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I4KIAO Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=031d166f968efba6e4f091ff75d0bb5206bb3918 -------------------------------- 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 <hexiaole@kylinos.cn> Reviewed-by:
Darrick J. Wong <djwong@kernel.org> [djwong: remove redundant code citations] Signed-off-by:
Darrick J. Wong <djwong@kernel.org> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com> Signed-off-by:
Guo Xuenan <guoxuenan@huawei.com> Reviewed-by:
Zhang Yi <yi.zhang@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment