diff options
author | Brian Foster <bfoster@redhat.com> | 2014-04-24 02:00:50 -0400 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2014-04-24 02:00:50 -0400 |
commit | 57bd3dbe4059c6fff7e39927e5aa789dfb2585b9 (patch) | |
tree | 6f122a620ec1c9a26aa733c67269097f8b48b893 /fs/xfs/xfs_ialloc_btree.c | |
parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (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.c | 8 |
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 | ||
55 | STATIC void | 56 | STATIC 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; |