[PATCH] ext3 balloc: reset windowsz when full
authorHugh Dickins <hugh@veritas.com>
Thu, 7 Dec 2006 04:41:23 +0000 (20:41 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Thu, 7 Dec 2006 16:39:48 +0000 (08:39 -0800)
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>
fs/ext3/balloc.c

index f96c40a90e2e7441df9613894283429ed89330f6..db8ca34d102a486fe0b5e7495e68f5c759897eed 100644 (file)
@@ -1552,6 +1552,7 @@ retry_alloc:
         */
        if (my_rsv) {
                my_rsv = NULL;
+               windowsz = 0;
                group_no = goal_group;
                goto retry_alloc;
        }