From 0a6fc1dcbf04715c54bfce75fd4ea2bd3b31d3b3 Mon Sep 17 00:00:00 2001 From: Tao Ma Date: Mon, 11 Jul 2011 00:00:07 -0400 Subject: [PATCH] --- yaml --- r: 262095 b: refs/heads/master c: 169ddc3ec83b5f732e51d975befb191d50795844 h: refs/heads/master i: 262093: a1fb5334ac29d36e06537457ae3380a8616f4a9e 262091: c2f8a7399a4d08f1bafce1eb0b68f32e22a2e99b 262087: 42e3902df553e46ad3b13ecc9a566d6e84a6c3b0 262079: 3ff7737b5ddb2d3fbab137537c93d484af84df55 v: v3 --- [refs] | 2 +- trunk/fs/ext4/mballoc.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ad483d4a2aa7..e043e2e14497 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22f10457432387615fa1ae6e0375d9cacc50819b +refs/heads/master: 169ddc3ec83b5f732e51d975befb191d50795844 diff --git a/trunk/fs/ext4/mballoc.c b/trunk/fs/ext4/mballoc.c index b189cb4ff20f..4a25725e9157 100644 --- a/trunk/fs/ext4/mballoc.c +++ b/trunk/fs/ext4/mballoc.c @@ -4821,7 +4821,7 @@ ext4_trim_all_free(struct super_block *sb, ext4_group_t group, ext4_grpblk_t minblocks) { void *bitmap; - ext4_grpblk_t next, count = 0; + ext4_grpblk_t next, count = 0, free_count = 0; struct ext4_buddy e4b; int ret; @@ -4848,6 +4848,7 @@ ext4_trim_all_free(struct super_block *sb, ext4_group_t group, next - start, group, &e4b); count += next - start; } + free_count += next - start; start = next + 1; if (fatal_signal_pending(current)) { @@ -4861,7 +4862,7 @@ ext4_trim_all_free(struct super_block *sb, ext4_group_t group, ext4_lock_group(sb, group); } - if ((e4b.bd_info->bb_free - count) < minblocks) + if ((e4b.bd_info->bb_free - free_count) < minblocks) break; } ext4_unlock_group(sb, group);