mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-07 14:32:23 +00:00
xfs: consolidate the xfs_alloc_lookup_* helpers
Add a single xfs_alloc_lookup helper to sort out the argument passing and setting of the active flag instead of duplicating the logic three times. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
e9e66df8bf
commit
73a8fd93c4
@ -151,23 +151,35 @@ xfs_alloc_ag_max_usable(
|
||||
return mp->m_sb.sb_agblocks - blocks;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
xfs_alloc_lookup(
|
||||
struct xfs_btree_cur *cur,
|
||||
xfs_lookup_t dir,
|
||||
xfs_agblock_t bno,
|
||||
xfs_extlen_t len,
|
||||
int *stat)
|
||||
{
|
||||
int error;
|
||||
|
||||
cur->bc_rec.a.ar_startblock = bno;
|
||||
cur->bc_rec.a.ar_blockcount = len;
|
||||
error = xfs_btree_lookup(cur, dir, stat);
|
||||
cur->bc_ag.abt.active = (*stat == 1);
|
||||
return error;
|
||||
}
|
||||
|
||||
/*
|
||||
* Lookup the record equal to [bno, len] in the btree given by cur.
|
||||
*/
|
||||
STATIC int /* error */
|
||||
static inline int /* error */
|
||||
xfs_alloc_lookup_eq(
|
||||
struct xfs_btree_cur *cur, /* btree cursor */
|
||||
xfs_agblock_t bno, /* starting block of extent */
|
||||
xfs_extlen_t len, /* length of extent */
|
||||
int *stat) /* success/failure */
|
||||
{
|
||||
int error;
|
||||
|
||||
cur->bc_rec.a.ar_startblock = bno;
|
||||
cur->bc_rec.a.ar_blockcount = len;
|
||||
error = xfs_btree_lookup(cur, XFS_LOOKUP_EQ, stat);
|
||||
cur->bc_ag.abt.active = (*stat == 1);
|
||||
return error;
|
||||
return xfs_alloc_lookup(cur, XFS_LOOKUP_EQ, bno, len, stat);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -181,13 +193,7 @@ xfs_alloc_lookup_ge(
|
||||
xfs_extlen_t len, /* length of extent */
|
||||
int *stat) /* success/failure */
|
||||
{
|
||||
int error;
|
||||
|
||||
cur->bc_rec.a.ar_startblock = bno;
|
||||
cur->bc_rec.a.ar_blockcount = len;
|
||||
error = xfs_btree_lookup(cur, XFS_LOOKUP_GE, stat);
|
||||
cur->bc_ag.abt.active = (*stat == 1);
|
||||
return error;
|
||||
return xfs_alloc_lookup(cur, XFS_LOOKUP_GE, bno, len, stat);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -201,12 +207,7 @@ xfs_alloc_lookup_le(
|
||||
xfs_extlen_t len, /* length of extent */
|
||||
int *stat) /* success/failure */
|
||||
{
|
||||
int error;
|
||||
cur->bc_rec.a.ar_startblock = bno;
|
||||
cur->bc_rec.a.ar_blockcount = len;
|
||||
error = xfs_btree_lookup(cur, XFS_LOOKUP_LE, stat);
|
||||
cur->bc_ag.abt.active = (*stat == 1);
|
||||
return error;
|
||||
return xfs_alloc_lookup(cur, XFS_LOOKUP_LE, bno, len, stat);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
|
Loading…
Reference in New Issue
Block a user