summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2006-12-06 20:41:23 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 08:39:48 -0800
commitef5036782e619ab394daaec5c00876fa6b17d7a1 (patch)
treea4ca5d66eaf0788311cb92d403cc1079713c9e20
parent1aa16eeacd6f10c202da1cf0cff5c81107dac942 (diff)
[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>
-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 f96c40a90e2..db8ca34d102 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;
}