Re: [PATCH 1/1] ext4: remove redundant assignment in ext4_iomap_begin()

From: Theodore Ts'o
Date: Thu Dec 21 2017 - 11:48:02 EST


On Mon, Nov 27, 2017 at 05:21:27PM +0800, sunqiuyang wrote:
> From: Qiuyang Sun <sunqiuyang@xxxxxxxxxx>
>
> This line will not change the value of map.m_lblk in any case.

I don't see that it is absolutely guaranteed. And if you are
depending on ext4_es_find_delayed_extent() returns, then (a) the
following line which adjusts map.m_len could also be dropped, and (b)
we should add a WARN_ON to make the code robust against future changes
to the above function.

- Ted

>
> Signed-off-by: Qiuyang Sun <sunqiuyang@xxxxxxxxxx>
> ---
> fs/ext4/inode.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 9f836e2..d4a42b1 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -3443,7 +3443,6 @@ static int ext4_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
>
> if (es.es_lblk < map.m_lblk)
> offs = map.m_lblk - es.es_lblk;
> - map.m_lblk = es.es_lblk + offs;
> map.m_len = es.es_len - offs;
> delalloc = true;
> }
> --
> 2.5.0
>