xfs: add a perag to the btree cursor
Which will eventually completely replace the agno in it. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Brian Foster <bfoster@redhat.com>
This commit is contained in:
committed by
Dave Chinner
parent
58d43a7e32
commit
be9fb17d88
@@ -776,7 +776,8 @@ xfs_alloc_cur_setup(
|
||||
*/
|
||||
if (!acur->cnt)
|
||||
acur->cnt = xfs_allocbt_init_cursor(args->mp, args->tp,
|
||||
args->agbp, args->agno, XFS_BTNUM_CNT);
|
||||
args->agbp, args->agno,
|
||||
args->pag, XFS_BTNUM_CNT);
|
||||
error = xfs_alloc_lookup_ge(acur->cnt, 0, args->maxlen, &i);
|
||||
if (error)
|
||||
return error;
|
||||
@@ -786,10 +787,12 @@ xfs_alloc_cur_setup(
|
||||
*/
|
||||
if (!acur->bnolt)
|
||||
acur->bnolt = xfs_allocbt_init_cursor(args->mp, args->tp,
|
||||
args->agbp, args->agno, XFS_BTNUM_BNO);
|
||||
args->agbp, args->agno,
|
||||
args->pag, XFS_BTNUM_BNO);
|
||||
if (!acur->bnogt)
|
||||
acur->bnogt = xfs_allocbt_init_cursor(args->mp, args->tp,
|
||||
args->agbp, args->agno, XFS_BTNUM_BNO);
|
||||
args->agbp, args->agno,
|
||||
args->pag, XFS_BTNUM_BNO);
|
||||
return i == 1 ? 0 : -ENOSPC;
|
||||
}
|
||||
|
||||
@@ -1217,7 +1220,7 @@ xfs_alloc_ag_vextent_exact(
|
||||
* Allocate/initialize a cursor for the by-number freespace btree.
|
||||
*/
|
||||
bno_cur = xfs_allocbt_init_cursor(args->mp, args->tp, args->agbp,
|
||||
args->agno, XFS_BTNUM_BNO);
|
||||
args->agno, args->pag, XFS_BTNUM_BNO);
|
||||
|
||||
/*
|
||||
* Lookup bno and minlen in the btree (minlen is irrelevant, really).
|
||||
@@ -1277,7 +1280,7 @@ xfs_alloc_ag_vextent_exact(
|
||||
* Allocate/initialize a cursor for the by-size btree.
|
||||
*/
|
||||
cnt_cur = xfs_allocbt_init_cursor(args->mp, args->tp, args->agbp,
|
||||
args->agno, XFS_BTNUM_CNT);
|
||||
args->agno, args->pag, XFS_BTNUM_CNT);
|
||||
ASSERT(args->agbno + args->len <= be32_to_cpu(agf->agf_length));
|
||||
error = xfs_alloc_fixup_trees(cnt_cur, bno_cur, fbno, flen, args->agbno,
|
||||
args->len, XFSA_FIXUP_BNO_OK);
|
||||
@@ -1674,7 +1677,7 @@ restart:
|
||||
* Allocate and initialize a cursor for the by-size btree.
|
||||
*/
|
||||
cnt_cur = xfs_allocbt_init_cursor(args->mp, args->tp, args->agbp,
|
||||
args->agno, XFS_BTNUM_CNT);
|
||||
args->agno, args->pag, XFS_BTNUM_CNT);
|
||||
bno_cur = NULL;
|
||||
busy = false;
|
||||
|
||||
@@ -1837,7 +1840,7 @@ restart:
|
||||
* Allocate and initialize a cursor for the by-block tree.
|
||||
*/
|
||||
bno_cur = xfs_allocbt_init_cursor(args->mp, args->tp, args->agbp,
|
||||
args->agno, XFS_BTNUM_BNO);
|
||||
args->agno, args->pag, XFS_BTNUM_BNO);
|
||||
if ((error = xfs_alloc_fixup_trees(cnt_cur, bno_cur, fbno, flen,
|
||||
rbno, rlen, XFSA_FIXUP_CNT_OK)))
|
||||
goto error0;
|
||||
@@ -1909,7 +1912,8 @@ xfs_free_ag_extent(
|
||||
/*
|
||||
* Allocate and initialize a cursor for the by-block btree.
|
||||
*/
|
||||
bno_cur = xfs_allocbt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_BNO);
|
||||
bno_cur = xfs_allocbt_init_cursor(mp, tp, agbp, agno,
|
||||
NULL, XFS_BTNUM_BNO);
|
||||
/*
|
||||
* Look for a neighboring block on the left (lower block numbers)
|
||||
* that is contiguous with this space.
|
||||
@@ -1979,7 +1983,8 @@ xfs_free_ag_extent(
|
||||
/*
|
||||
* Now allocate and initialize a cursor for the by-size tree.
|
||||
*/
|
||||
cnt_cur = xfs_allocbt_init_cursor(mp, tp, agbp, agno, XFS_BTNUM_CNT);
|
||||
cnt_cur = xfs_allocbt_init_cursor(mp, tp, agbp, agno,
|
||||
NULL, XFS_BTNUM_CNT);
|
||||
/*
|
||||
* Have both left and right contiguous neighbors.
|
||||
* Merge all three into a single free block.
|
||||
@@ -2490,7 +2495,7 @@ xfs_exact_minlen_extent_available(
|
||||
int error = 0;
|
||||
|
||||
cnt_cur = xfs_allocbt_init_cursor(args->mp, args->tp, agbp,
|
||||
args->agno, XFS_BTNUM_CNT);
|
||||
args->agno, args->pag, XFS_BTNUM_CNT);
|
||||
error = xfs_alloc_lookup_ge(cnt_cur, 0, args->minlen, stat);
|
||||
if (error)
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user