diff options
author | Hugh Dickins <hugh@veritas.com> | 2006-12-06 23:39:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:42 -0500 |
commit | cd16c8f72aaaf2af06969d1441051b90010f7041 (patch) | |
tree | c40dcec3289d45f4fdd5656aced3c576c6edc8f5 | |
parent | 126039256cf164f69d8cfa20f1952d00fa61f52f (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>
-rw-r--r-- | fs/ext4/balloc.c | 1 |
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 | } |