aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ialloc_btree.c
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2014-04-24 02:00:50 -0400
committerDave Chinner <david@fromorbit.com>2014-04-24 02:00:50 -0400
commit57bd3dbe4059c6fff7e39927e5aa789dfb2585b9 (patch)
tree6f122a620ec1c9a26aa733c67269097f8b48b893 /fs/xfs/xfs_ialloc_btree.c
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff)
xfs: refactor xfs_ialloc_btree.c to support multiple inobt numbers
The introduction of the free inode btree (finobt) requires that xfs_ialloc_btree.c handle multiple trees. Refactor xfs_ialloc_btree.c so the caller specifies the btree type on cursor initialization to prepare for addition of the finobt. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_ialloc_btree.c')
-rw-r--r--fs/xfs/xfs_ialloc_btree.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/xfs_ialloc_btree.c b/fs/xfs/xfs_ialloc_btree.c
index 7e309b11e87d..41e4883c5af2 100644
--- a/fs/xfs/xfs_ialloc_btree.c
+++ b/fs/xfs/xfs_ialloc_btree.c
@@ -49,7 +49,8 @@ xfs_inobt_dup_cursor(
49 struct xfs_btree_cur *cur) 49 struct xfs_btree_cur *cur)
50{ 50{
51 return xfs_inobt_init_cursor(cur->bc_mp, cur->bc_tp, 51 return xfs_inobt_init_cursor(cur->bc_mp, cur->bc_tp,
52 cur->bc_private.a.agbp, cur->bc_private.a.agno); 52 cur->bc_private.a.agbp, cur->bc_private.a.agno,
53 cur->bc_btnum);
53} 54}
54 55
55STATIC void 56STATIC void
@@ -325,7 +326,8 @@ xfs_inobt_init_cursor(
325 struct xfs_mount *mp, /* file system mount point */ 326 struct xfs_mount *mp, /* file system mount point */
326 struct xfs_trans *tp, /* transaction pointer */ 327 struct xfs_trans *tp, /* transaction pointer */
327 struct xfs_buf *agbp, /* buffer for agi structure */ 328 struct xfs_buf *agbp, /* buffer for agi structure */
328 xfs_agnumber_t agno) /* allocation group number */ 329 xfs_agnumber_t agno, /* allocation group number */
330 xfs_btnum_t btnum) /* ialloc or free ino btree */
329{ 331{
330 struct xfs_agi *agi = XFS_BUF_TO_AGI(agbp); 332 struct xfs_agi *agi = XFS_BUF_TO_AGI(agbp);
331 struct xfs_btree_cur *cur; 333 struct xfs_btree_cur *cur;
@@ -335,7 +337,7 @@ xfs_inobt_init_cursor(
335 cur->bc_tp = tp; 337 cur->bc_tp = tp;
336 cur->bc_mp = mp; 338 cur->bc_mp = mp;
337 cur->bc_nlevels = be32_to_cpu(agi->agi_level); 339 cur->bc_nlevels = be32_to_cpu(agi->agi_level);
338 cur->bc_btnum = XFS_BTNUM_INO; 340 cur->bc_btnum = btnum;
339 cur->bc_blocklog = mp->m_sb.sb_blocklog; 341 cur->bc_blocklog = mp->m_sb.sb_blocklog;
340 342
341 cur->bc_ops = &xfs_inobt_ops; 343 cur->bc_ops = &xfs_inobt_ops;