diff options
author | Hugh Dickins <hugh@veritas.com> | 2006-12-06 23:41:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:48 -0500 |
commit | ef5036782e619ab394daaec5c00876fa6b17d7a1 (patch) | |
tree | a4ca5d66eaf0788311cb92d403cc1079713c9e20 | |
parent | 1aa16eeacd6f10c202da1cf0cff5c81107dac942 (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.c | 1 |
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 | } |