Patchwork [2/5] ext4: Fix trimmed block count computing

login
register
mail settings
Submitter Lukas Czerner
Date March 1, 2012, 10:16 a.m.
Message ID <1330597005-751-2-git-send-email-lczerner@redhat.com>
Download mbox | patch
Permalink /patch/143982/
State Superseded
Delegated to: Theodore Ts'o
Headers show

Comments

Lukas Czerner - March 1, 2012, 10:16 a.m.
Currently then if there is not enough free block in the block group to
discard (grp->bb_free >= minlen) the 'trimmed' is bumped up anyway with
the number of discarded blocks from the previous block group. Fix this
by bumping up 'trimmed' only if the ext4_trim_all_free() was actually
run.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
 fs/ext4/mballoc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Patch

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 5798cf3..e907cf9 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -5083,8 +5083,8 @@  int ext4_trim_fs(struct super_block *sb, struct fstrim_range *range)
 				ret = cnt;
 				break;
 			}
+			trimmed += cnt;
 		}
-		trimmed += cnt;
 
 		/*
 		 * For every group except the first one, we are sure