diff options
author | Dave Jones <davej@redhat.com> | 2006-09-05 17:16:33 -0400 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-09-05 17:16:33 -0400 |
commit | 23e735bc7b0e1d614656881794257b4224efda3a (patch) | |
tree | d9523b531156fedb204e31b4612519b0a7a003e7 /fs/ocfs2/localalloc.c | |
parent | 3906f4edeef976c081c4e7bd92164d2f59c325ae (diff) | |
parent | c336923b668fdcf0312efbec3b44895d713f4d81 (diff) | |
download | op-kernel-dev-23e735bc7b0e1d614656881794257b4224efda3a.zip op-kernel-dev-23e735bc7b0e1d614656881794257b4224efda3a.tar.gz |
Merge ../linus
Diffstat (limited to 'fs/ocfs2/localalloc.c')
-rw-r--r-- | fs/ocfs2/localalloc.c | 8 |
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, |