aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/balloc.c
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2006-12-06 23:39:18 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:42 -0500
commitcd16c8f72aaaf2af06969d1441051b90010f7041 (patch)
treec40dcec3289d45f4fdd5656aced3c576c6edc8f5 /fs/ext4/balloc.c
parent126039256cf164f69d8cfa20f1952d00fa61f52f (diff)
[PATCH] ext4 balloc: reset windowsz when full
ext4_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/ext4/balloc.c')
-rw-r--r--fs/ext4/balloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
index 6bd0bd5bbdc8..af3acf3c37b6 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -1566,6 +1566,7 @@ retry_alloc:
1566 */ 1566 */
1567 if (my_rsv) { 1567 if (my_rsv) {
1568 my_rsv = NULL; 1568 my_rsv = NULL;
1569 windowsz = 0;
1569 group_no = goal_group; 1570 group_no = goal_group;
1570 goto retry_alloc; 1571 goto retry_alloc;
1571 } 1572 }