Patchwork [v3,15/18] ext4: remove unused code from ext4_remove_blocks()

login
register
mail settings
Submitter Lukas Czerner
Date April 9, 2013, 9:14 a.m.
Message ID <1365498867-27782-16-git-send-email-lczerner@redhat.com>
Download mbox | patch
Permalink /patch/234997/
State Superseded
Headers show

Comments

Lukas Czerner - April 9, 2013, 9:14 a.m.
The "head removal" branch in the condition is never used in any code
path in ext4 since the function only caller ext4_ext_rm_leaf() will make
sure that the extent is properly split before removing blocks. Note that
there is a bug in this branch anyway.

This commit removes the unused code completely and makes use of
ext4_error() instead of printk if dubious range is provided.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
 fs/ext4/extents.c |   21 ++++-----------------
 1 files changed, 4 insertions(+), 17 deletions(-)
Jan Kara - April 19, 2013, 5:15 a.m.
On Tue 09-04-13 11:14:24, Lukas Czerner wrote:
> The "head removal" branch in the condition is never used in any code
> path in ext4 since the function only caller ext4_ext_rm_leaf() will make
> sure that the extent is properly split before removing blocks. Note that
> there is a bug in this branch anyway.
> 
> This commit removes the unused code completely and makes use of
> ext4_error() instead of printk if dubious range is provided.
> 
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
  Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>

								Honza
> ---
>  fs/ext4/extents.c |   21 ++++-----------------
>  1 files changed, 4 insertions(+), 17 deletions(-)
> 
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index 6c5a70a..4adaa8a 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -2435,23 +2435,10 @@ static int ext4_remove_blocks(handle_t *handle, struct inode *inode,
>  			*partial_cluster = EXT4_B2C(sbi, pblk);
>  		else
>  			*partial_cluster = 0;
> -	} else if (from == le32_to_cpu(ex->ee_block)
> -		   && to <= le32_to_cpu(ex->ee_block) + ee_len - 1) {
> -		/* head removal */
> -		ext4_lblk_t num;
> -		ext4_fsblk_t start;
> -
> -		num = to - from;
> -		start = ext4_ext_pblock(ex);
> -
> -		ext_debug("free first %u blocks starting %llu\n", num, start);
> -		ext4_free_blocks(handle, inode, NULL, start, num, flags);
> -
> -	} else {
> -		printk(KERN_INFO "strange request: removal(2) "
> -				"%u-%u from %u:%u\n",
> -				from, to, le32_to_cpu(ex->ee_block), ee_len);
> -	}
> +	} else
> +		ext4_error(sbi->s_sb, "strange request: removal(2) "
> +			   "%u-%u from %u:%u\n",
> +			   from, to, le32_to_cpu(ex->ee_block), ee_len);
>  	return 0;
>  }
>  
> -- 
> 1.7.7.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 6c5a70a..4adaa8a 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -2435,23 +2435,10 @@  static int ext4_remove_blocks(handle_t *handle, struct inode *inode,
 			*partial_cluster = EXT4_B2C(sbi, pblk);
 		else
 			*partial_cluster = 0;
-	} else if (from == le32_to_cpu(ex->ee_block)
-		   && to <= le32_to_cpu(ex->ee_block) + ee_len - 1) {
-		/* head removal */
-		ext4_lblk_t num;
-		ext4_fsblk_t start;
-
-		num = to - from;
-		start = ext4_ext_pblock(ex);
-
-		ext_debug("free first %u blocks starting %llu\n", num, start);
-		ext4_free_blocks(handle, inode, NULL, start, num, flags);
-
-	} else {
-		printk(KERN_INFO "strange request: removal(2) "
-				"%u-%u from %u:%u\n",
-				from, to, le32_to_cpu(ex->ee_block), ee_len);
-	}
+	} else
+		ext4_error(sbi->s_sb, "strange request: removal(2) "
+			   "%u-%u from %u:%u\n",
+			   from, to, le32_to_cpu(ex->ee_block), ee_len);
 	return 0;
 }