aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext3/balloc.c
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2006-12-06 23:41:23 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:48 -0500
commitef5036782e619ab394daaec5c00876fa6b17d7a1 (patch)
treea4ca5d66eaf0788311cb92d403cc1079713c9e20 /fs/ext3/balloc.c
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>
Diffstat (limited to 'fs/ext3/balloc.c')
-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:
1552 */ 1552 */
1553 if (my_rsv) { 1553 if (my_rsv) {
1554 my_rsv = NULL; 1554 my_rsv = NULL;
1555 windowsz = 0;
1555 group_no = goal_group; 1556 group_no = goal_group;
1556 goto retry_alloc; 1557 goto retry_alloc;
1557 } 1558 }