aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/localalloc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-08-15 12:31:36 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2006-08-15 12:31:36 -0700
commit80914d97aa0c61fbfd8eadd120c863b6229f0809 (patch)
tree4d4d08a8ccbfcdabb40cc457badfd053056a7bdd /fs/ocfs2/localalloc.c
parent74361cb6828398a96167b3234e186fbd731e5f30 (diff)
parent883d4cae4a2b01a05193cf2665c77b7489a8b6a0 (diff)
downloadkernel_samsung_tuna-80914d97aa0c61fbfd8eadd120c863b6229f0809.zip
kernel_samsung_tuna-80914d97aa0c61fbfd8eadd120c863b6229f0809.tar.gz
kernel_samsung_tuna-80914d97aa0c61fbfd8eadd120c863b6229f0809.tar.bz2
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2
Diffstat (limited to 'fs/ocfs2/localalloc.c')
-rw-r--r--fs/ocfs2/localalloc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c
index 0d1973e..1f17a4d 100644
--- a/fs/ocfs2/localalloc.c
+++ b/fs/ocfs2/localalloc.c
@@ -840,6 +840,12 @@ static int ocfs2_local_alloc_new_window(struct ocfs2_super *osb,
mlog(0, "Allocating %u clusters for a new window.\n",
ocfs2_local_alloc_window_bits(osb));
+
+ /* Instruct the allocation code to try the most recently used
+ * cluster group. We'll re-record the group used this pass
+ * below. */
+ ac->ac_last_group = osb->la_last_gd;
+
/* we used the generic suballoc reserve function, but we set
* everything up nicely, so there's no reason why we can't use
* the more specific cluster api to claim bits. */
@@ -852,6 +858,8 @@ static int ocfs2_local_alloc_new_window(struct ocfs2_super *osb,
goto bail;
}
+ osb->la_last_gd = ac->ac_last_group;
+
la->la_bm_off = cpu_to_le32(cluster_off);
alloc->id1.bitmap1.i_total = cpu_to_le32(cluster_count);
/* just in case... In the future when we find space ourselves,