summaryrefslogtreecommitdiff
path: root/fs/ext3
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2006-12-07 07:41:23 +0300
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 19:39:48 +0300
commitef5036782e619ab394daaec5c00876fa6b17d7a1 (patch)
treea4ca5d66eaf0788311cb92d403cc1079713c9e20 /fs/ext3
parent1aa16eeacd6f10c202da1cf0cff5c81107dac942 (diff)
downloadlinux-ef5036782e619ab394daaec5c00876fa6b17d7a1.tar.xz
[PATCH] ext3 balloc: reset windowsz when full
ext3_new_blocks should reset the reservation window size to 0 when squeezing the last blocks out of an almost full filesystem, so the retry doesn't skip any groups with less than half that free, reporting ENOSPC too soon. Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: Hugh Dickins <hugh@veritas.com> Cc: <linux-ext4@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ext3')
-rw-r--r--fs/ext3/balloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
index f96c40a90e2e..db8ca34d102a 100644
--- a/fs/ext3/balloc.c
+++ b/fs/ext3/balloc.c
@@ -1552,6 +1552,7 @@ retry_alloc:
*/
if (my_rsv) {
my_rsv = NULL;
+ windowsz = 0;
group_no = goal_group;
goto retry_alloc;
}