2023-05-19 09:41:31

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH 01/13] iomap: update ki_pos a little later in 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 <[email protected]>
---
fs/iomap/direct-io.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)

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);
--
2.39.2



2023-05-21 23:41:30

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH 01/13] iomap: update ki_pos a little later in iomap_dio_complete

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 <[email protected]>

Looks OK to me.

Reviewed-by: Damien Le Moal <[email protected]>

> + 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);

--
Damien Le Moal
Western Digital Research


2023-07-06 00:19:27

by patchwork-bot+f2fs

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH 01/13] iomap: update ki_pos a little later in iomap_dio_complete

Hello:

This series was applied to jaegeuk/f2fs.git (dev)
by Andrew Morton <[email protected]>:

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 <[email protected]>
> ---
> 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!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html