summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2012-03-22 02:24:22 +0100
committerTheodore Ts'o <tytso@mit.edu>2012-03-22 02:24:22 +0100
commit21e7fd22a5a0ca83befe12c58cced21975dab213 (patch)
treebb11f7073ad3984e0ab775fc4800f5ee05864623 /fs/ext4
parentext4: fix start and len arguments handling in ext4_trim_fs() (diff)
downloadlinux-21e7fd22a5a0ca83befe12c58cced21975dab213.tar.xz
linux-21e7fd22a5a0ca83befe12c58cced21975dab213.zip
ext4: fix trimmed block count accunting
Currently when there is not enough free blocks 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 iteration. Fix this by bumping up 'trimmed' only if the ext4_trim_all_free() was actually run. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/mballoc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 7d5a1e3a703a..c8b6a8808166 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -5026,8 +5026,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