On Tue, Nov 26, 2019 at 01:20:51PM +0100, Johannes Thumshirn wrote: > The 'start' variable indicates the start of a filemap and is set to the > iocb's position, which we have already cached as 'pos', upon function > entry. > > 'pos' is used as a cursor indicating the current position and updated > later in iomap_dio_rw(), but not before the last use of 'start'. > > Remove 'start' as it's synonym for 'pos' before we're entering the loop > calling iomapp_apply(). > > Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Looks good to me, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/iomap/direct-io.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > index 1fc28c2da279..405456b12f03 100644 > --- a/fs/iomap/direct-io.c > +++ b/fs/iomap/direct-io.c > @@ -397,7 +397,7 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > struct address_space *mapping = iocb->ki_filp->f_mapping; > struct inode *inode = file_inode(iocb->ki_filp); > size_t count = iov_iter_count(iter); > - loff_t pos = iocb->ki_pos, start = pos; > + loff_t pos = iocb->ki_pos; > loff_t end = iocb->ki_pos + count - 1, ret = 0; > unsigned int flags = IOMAP_DIRECT; > bool wait_for_completion = is_sync_kiocb(iocb); > @@ -451,14 +451,14 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > } > > if (iocb->ki_flags & IOCB_NOWAIT) { > - if (filemap_range_has_page(mapping, start, end)) { > + if (filemap_range_has_page(mapping, pos, end)) { > ret = -EAGAIN; > goto out_free_dio; > } > flags |= IOMAP_NOWAIT; > } > > - ret = filemap_write_and_wait_range(mapping, start, end); > + ret = filemap_write_and_wait_range(mapping, pos, end); > if (ret) > goto out_free_dio; > > @@ -469,7 +469,7 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > * pretty crazy thing to do, so we don't support it 100%. > */ > ret = invalidate_inode_pages2_range(mapping, > - start >> PAGE_SHIFT, end >> PAGE_SHIFT); > + pos >> PAGE_SHIFT, end >> PAGE_SHIFT); > if (ret) > dio_warn_stale_pagecache(iocb->ki_filp); > ret = 0; > -- > 2.16.4 >