summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_alloc.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-04-24 19:06:16 +0000
committerAlex Elder <aelder@sgi.com>2011-04-28 13:18:04 -0500
commit97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2 (patch)
treee08af7a4bbb93c22dfeb1bcb2d3caf83aef717c9 /fs/xfs/xfs_alloc.h
parente26f0501cf743a4289603501413f97ffcb4612f2 (diff)
downloadlinux-97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2.tar.bz2
xfs: exact busy extent tracking
Update the extent tree in case we have to reuse a busy extent, so that it always is kept uptodate. This is done by replacing the busy list searches with a new xfs_alloc_busy_reuse helper, which updates the busy extent tree in case of a reuse. This allows us to allow reusing metadata extents unconditionally, and thus avoid log forces especially for allocation btree blocks. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_alloc.h')
-rw-r--r--fs/xfs/xfs_alloc.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/xfs_alloc.h b/fs/xfs/xfs_alloc.h
index d0b3bc72005b..de5e27c95170 100644
--- a/fs/xfs/xfs_alloc.h
+++ b/fs/xfs/xfs_alloc.h
@@ -145,6 +145,10 @@ xfs_alloc_busy_clear(struct xfs_mount *mp, struct xfs_busy_extent *busyp);
int
xfs_alloc_busy_search(struct xfs_mount *mp, xfs_agnumber_t agno,
xfs_agblock_t bno, xfs_extlen_t len);
+
+void
+xfs_alloc_busy_reuse(struct xfs_mount *mp, xfs_agnumber_t agno,
+ xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata);
#endif /* __KERNEL__ */
/*