diff mbox

[2/4,v2] ext4: Fix trimmed block count computing

Message ID 1330690318-22627-2-git-send-email-lczerner@redhat.com
State Superseded, archived
Headers show

Commit Message

Lukas Czerner March 2, 2012, 12:11 p.m. UTC
Currently when 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 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>
---
v2: nothing changed

 fs/ext4/mballoc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Jan Kara March 5, 2012, 12:38 p.m. UTC | #1
On Fri 02-03-12 13:11:56, Lukas Czerner wrote:
> Currently when 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 iteration. Fix this
> by bumping up 'trimmed' only if the ext4_trim_all_free() was actually
> run.
  Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>

								Honza
> 
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> ---
> v2: nothing changed
> 
>  fs/ext4/mballoc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index 16a3aeb..f20688e 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
> -- 
> 1.7.4.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Theodore Ts'o March 22, 2012, 1:22 a.m. UTC | #2
On Mon, Mar 05, 2012 at 01:38:20PM +0100, Jan Kara wrote:
> On Fri 02-03-12 13:11:56, Lukas Czerner wrote:
> > Currently when 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 iteration. Fix this
> > by bumping up 'trimmed' only if the ext4_trim_all_free() was actually
> > run.
>   Looks good. You can add:
> Reviewed-by: Jan Kara <jack@suse.cz>

Thanks, applied.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 16a3aeb..f20688e 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