Message ID | 20230519093521.133226-2-hch@lst.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 936e114a245b6e38e0dbf706a67e7611fc993da1 |
Headers | show |
Series | [f2fs-dev,01/13] iomap: update ki_pos a little later in iomap_dio_complete | expand |
On 5/19/23 18:35, Christoph Hellwig wrote: > Move the ki_pos update down a bit to prepare for a better common > helper that invalidates pages based of an iocb. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Looks OK to me. Reviewed-by: Damien Le Moal <dlemoal@kernel.org> > + if (dio->flags & IOMAP_DIO_NEED_SYNC) > + ret = generic_write_sync(iocb, ret); > + if (ret > 0) > + ret += dio->done_before; > + } > trace_iomap_dio_complete(iocb, dio->error, ret); > kfree(dio); > - white line change. Personally, I like a blank line before returns to make them stand out :) > return ret; > } > EXPORT_SYMBOL_GPL(iomap_dio_complete);
Hello: This series was applied to jaegeuk/f2fs.git (dev) by Andrew Morton <akpm@linux-foundation.org>: On Fri, 19 May 2023 11:35:09 +0200 you wrote: > Move the ki_pos update down a bit to prepare for a better common > helper that invalidates pages based of an iocb. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > fs/iomap/direct-io.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) Here is the summary with links: - [f2fs-dev,01/13] iomap: update ki_pos a little later in iomap_dio_complete https://git.kernel.org/jaegeuk/f2fs/c/936e114a245b - [f2fs-dev,02/13] filemap: update ki_pos in generic_perform_write (no matching commit) - [f2fs-dev,03/13] filemap: assign current->backing_dev_info in generic_perform_write (no matching commit) - [f2fs-dev,04/13] filemap: add a kiocb_write_and_wait helper https://git.kernel.org/jaegeuk/f2fs/c/3c435a0fe35c - [f2fs-dev,05/13] filemap: add a kiocb_invalidate_pages helper https://git.kernel.org/jaegeuk/f2fs/c/e003f74afbd2 - [f2fs-dev,06/13] filemap: add a kiocb_invalidate_post_write helper (no matching commit) - [f2fs-dev,07/13] iomap: update ki_pos in iomap_file_buffered_write (no matching commit) - [f2fs-dev,08/13] iomap: assign current->backing_dev_info in iomap_file_buffered_write (no matching commit) - [f2fs-dev,09/13] iomap: use kiocb_write_and_wait and kiocb_invalidate_pages https://git.kernel.org/jaegeuk/f2fs/c/8ee93b4bb626 - [f2fs-dev,10/13] fs: factor out a direct_write_fallback helper (no matching commit) - [f2fs-dev,11/13] fuse: update ki_pos in fuse_perform_write (no matching commit) - [f2fs-dev,12/13] fuse: drop redundant arguments to fuse_perform_write (no matching commit) - [f2fs-dev,13/13] fuse: use direct_write_fallback (no matching commit) You are awesome, thank you!
diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c index 019cc87d0fb339..6207a59d2162e1 100644 --- a/fs/iomap/direct-io.c +++ b/fs/iomap/direct-io.c @@ -94,7 +94,6 @@ ssize_t iomap_dio_complete(struct iomap_dio *dio) if (offset + ret > dio->i_size && !(dio->flags & IOMAP_DIO_WRITE)) ret = dio->i_size - offset; - iocb->ki_pos += ret; } /* @@ -120,19 +119,21 @@ ssize_t iomap_dio_complete(struct iomap_dio *dio) } inode_dio_end(file_inode(iocb->ki_filp)); - /* - * If this is a DSYNC write, make sure we push it to stable storage now - * that we've written data. - */ - if (ret > 0 && (dio->flags & IOMAP_DIO_NEED_SYNC)) - ret = generic_write_sync(iocb, ret); - if (ret > 0) - ret += dio->done_before; + if (ret > 0) { + iocb->ki_pos += ret; + /* + * If this is a DSYNC write, make sure we push it to stable + * storage now that we've written data. + */ + if (dio->flags & IOMAP_DIO_NEED_SYNC) + ret = generic_write_sync(iocb, ret); + if (ret > 0) + ret += dio->done_before; + } trace_iomap_dio_complete(iocb, dio->error, ret); kfree(dio); - return ret; } EXPORT_SYMBOL_GPL(iomap_dio_complete);
Move the ki_pos update down a bit to prepare for a better common helper that invalidates pages based of an iocb. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/iomap/direct-io.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)