[XFS] Restore the lowspace extent allocator algorithm
authorLachlan McIlroy <lachlan@sgi.com>
Fri, 27 Jun 2008 03:33:03 +0000 (13:33 +1000)
committerNiv Sardi <xaiki@debian.org>
Mon, 28 Jul 2008 06:59:11 +0000 (16:59 +1000)
commitb877e3d37dda0154868a3c78f02f38a1ec14ce79
tree0c654086bf0ed0be90bc2652eb7b67448ae568dc
parent4ddd8bb1d25f9cbb345e1f64a56c0f641a787ede
[XFS] Restore the lowspace extent allocator algorithm

When free space is running low the extent allocator may choose to allocate
an extent from an AG without leaving sufficient space for a btree split
when inserting the new extent (see where xfs_bmap_btalloc() sets minleft
to 0). In this case the allocator will enable the lowspace algorithm which
is supposed to allow further allocations (such as btree splits and
newroots) to allocate from sequential AGs. This algorithm has been broken
for a long time and this patch restores its behaviour.

SGI-PV: 983338

SGI-Modid: xfs-linux-melb:xfs-kern:31358a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: David Chinner <dgc@sgi.com>
fs/xfs/xfs_bmap.h
fs/xfs/xfs_bmap_btree.c