From 4b44dd300d5bfd500f170bae13f95f589de0b28f Mon Sep 17 00:00:00 2001 From: Tao Ma Date: Fri, 21 Jan 2011 10:52:56 +0800 Subject: [PATCH] ext3: Adjust trim start with first_data_block. As we have make the consense in the e-mail[1], the trim start should be added with first_data_block. So this patch fulfill it and remove the check for start < first_data_block. [1] http://www.spinics.net/lists/linux-ext4/msg22737.html Cc: Jan Kara Cc: Lukas Czerner Signed-off-by: Tao Ma Signed-off-by: Jan Kara --- fs/ext3/balloc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c index 045995c8ce5..5b8344fab79 100644 --- a/fs/ext3/balloc.c +++ b/fs/ext3/balloc.c @@ -2090,7 +2090,8 @@ int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range) ext3_fsblk_t max_blks = le32_to_cpu(es->s_blocks_count); int ret = 0; - start = range->start >> sb->s_blocksize_bits; + start = (range->start >> sb->s_blocksize_bits) + + le32_to_cpu(es->s_first_data_block); len = range->len >> sb->s_blocksize_bits; minlen = range->minlen >> sb->s_blocksize_bits; trimmed = 0; @@ -2099,10 +2100,6 @@ int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range) return -EINVAL; if (start >= max_blks) goto out; - if (start < le32_to_cpu(es->s_first_data_block)) { - len -= le32_to_cpu(es->s_first_data_block) - start; - start = le32_to_cpu(es->s_first_data_block); - } if (start + len > max_blks) len = max_blks - start;