|
|
@@ -490,10 +490,9 @@ xfs_calc_symlink_reservation(
|
|
|
/*
|
|
|
* In freeing an inode we can modify:
|
|
|
* the inode being freed: inode size
|
|
|
- * the super block free inode counter: sector size
|
|
|
- * the agi hash list and counters: sector size
|
|
|
- * the inode btree entry: block size
|
|
|
- * the on disk inode before ours in the agi hash list: inode cluster size
|
|
|
+ * the super block free inode counter, AGF and AGFL: sector size
|
|
|
+ * the on disk inode (agi unlinked list removal)
|
|
|
+ * the inode chunk is marked stale (headers only)
|
|
|
* the inode btree: max depth * blocksize
|
|
|
* the allocation btrees: 2 trees * (max depth - 1) * block size
|
|
|
* the finobt (record insertion, removal or modification)
|
|
|
@@ -504,12 +503,10 @@ xfs_calc_ifree_reservation(
|
|
|
{
|
|
|
return XFS_DQUOT_LOGRES(mp) +
|
|
|
xfs_calc_inode_res(mp, 1) +
|
|
|
- xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) +
|
|
|
- xfs_calc_buf_res(1, XFS_FSB_TO_B(mp, 1)) +
|
|
|
+ xfs_calc_buf_res(3, mp->m_sb.sb_sectsize) +
|
|
|
xfs_calc_iunlink_remove_reservation(mp) +
|
|
|
- xfs_calc_buf_res(1, 0) +
|
|
|
- xfs_calc_buf_res(2 + mp->m_ialloc_blks +
|
|
|
- mp->m_in_maxlevels, 0) +
|
|
|
+ xfs_calc_buf_res(mp->m_ialloc_blks, 0) +
|
|
|
+ xfs_calc_buf_res(mp->m_in_maxlevels, XFS_FSB_TO_B(mp, 1)) +
|
|
|
xfs_calc_buf_res(xfs_allocfree_log_count(mp, 1),
|
|
|
XFS_FSB_TO_B(mp, 1)) +
|
|
|
xfs_calc_finobt_res(mp, 0, 1);
|