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

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