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 >