summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_bmap.c
diff options
context:
space:
mode:
authorDave Chinner <dgc@sgi.com>2009-03-16 08:29:46 +0100
committerChristoph Hellwig <hch@brick.lst.de>2009-03-16 08:29:46 +0100
commit6cc87645e2a3c28d857b074e90bf88bfcd117afa (patch)
treea93770aa88f1ecde7af8954931e19cef2015bf53 /fs/xfs/xfs_bmap.c
parentcb4c8cc1e92bc68c952e9a81a9fb9736bd8150de (diff)
downloadlinux-6cc87645e2a3c28d857b074e90bf88bfcd117afa.tar.gz
linux-6cc87645e2a3c28d857b074e90bf88bfcd117afa.tar.bz2
linux-6cc87645e2a3c28d857b074e90bf88bfcd117afa.zip
xfs: factor out code to find the longest free extent in the AG
Signed-off-by: Dave Chinner <dgc@sgi.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_bmap.c')
-rw-r--r--fs/xfs/xfs_bmap.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
index 27062d0a879d..07b7d0d59d88 100644
--- a/fs/xfs/xfs_bmap.c
+++ b/fs/xfs/xfs_bmap.c
@@ -2712,9 +2712,6 @@ xfs_bmap_btalloc(
xfs_agnumber_t startag;
xfs_alloc_arg_t args;
xfs_extlen_t blen;
- xfs_extlen_t delta;
- xfs_extlen_t longest;
- xfs_extlen_t need;
xfs_extlen_t nextminlen = 0;
xfs_perag_t *pag;
int nullfb; /* true if ap->firstblock isn't set */
@@ -2796,13 +2793,8 @@ xfs_bmap_btalloc(
* See xfs_alloc_fix_freelist...
*/
if (pag->pagf_init) {
- need = XFS_MIN_FREELIST_PAG(pag, mp);
- delta = need > pag->pagf_flcount ?
- need - pag->pagf_flcount : 0;
- longest = (pag->pagf_longest > delta) ?
- (pag->pagf_longest - delta) :
- (pag->pagf_flcount > 0 ||
- pag->pagf_longest > 0);
+ xfs_extlen_t longest;
+ longest = xfs_alloc_longest_free_extent(mp, pag);
if (blen < longest)
blen = longest;
} else