xfs: separate inode geometry
Separate the inode geometry information into a distinct structure. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
@@ -136,9 +136,10 @@ STATIC uint
|
||||
xfs_calc_inobt_res(
|
||||
struct xfs_mount *mp)
|
||||
{
|
||||
return 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));
|
||||
return xfs_calc_buf_res(M_IGEO(mp)->inobt_maxlevels,
|
||||
XFS_FSB_TO_B(mp, 1)) +
|
||||
xfs_calc_buf_res(xfs_allocfree_log_count(mp, 1),
|
||||
XFS_FSB_TO_B(mp, 1));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -167,7 +168,7 @@ xfs_calc_finobt_res(
|
||||
* includes:
|
||||
*
|
||||
* the allocation btrees: 2 trees * (max depth - 1) * block size
|
||||
* the inode chunk: m_ialloc_blks * N
|
||||
* the inode chunk: m_ino_geo.ialloc_blks * N
|
||||
*
|
||||
* The size N of the inode chunk reservation depends on whether it is for
|
||||
* allocation or free and which type of create transaction is in use. An inode
|
||||
@@ -193,7 +194,7 @@ xfs_calc_inode_chunk_res(
|
||||
size = XFS_FSB_TO_B(mp, 1);
|
||||
}
|
||||
|
||||
res += xfs_calc_buf_res(mp->m_ialloc_blks, size);
|
||||
res += xfs_calc_buf_res(M_IGEO(mp)->ialloc_blks, size);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -307,7 +308,8 @@ xfs_calc_iunlink_remove_reservation(
|
||||
struct xfs_mount *mp)
|
||||
{
|
||||
return xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) +
|
||||
2 * max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size);
|
||||
2 * max_t(uint, XFS_FSB_TO_B(mp, 1),
|
||||
M_IGEO(mp)->inode_cluster_size);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -345,7 +347,8 @@ STATIC uint
|
||||
xfs_calc_iunlink_add_reservation(xfs_mount_t *mp)
|
||||
{
|
||||
return xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) +
|
||||
max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size);
|
||||
max_t(uint, XFS_FSB_TO_B(mp, 1),
|
||||
M_IGEO(mp)->inode_cluster_size);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user