fs/f2fs/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
This fixes a regression which prevents parallel DIO reads.
Fixes: 0cac51185e65 ("f2fs: fix to avoid racing in between read and OPU dio write")
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
fs/f2fs/file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 71d5ded9eeda..adc7d64a6f47 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -4647,7 +4647,8 @@ static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
iov_iter_count(to), READ);
/* In LFS mode, if there is inflight dio, wait for its completion */
- if (f2fs_lfs_mode(F2FS_I_SB(inode)))
+ if (f2fs_lfs_mode(F2FS_I_SB(inode)) &&
+ get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE))
inode_dio_wait(inode);
if (f2fs_should_use_dio(inode, iocb, to)) {
--
2.47.0.rc1.288.g06298d1525-goog
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Thanks,
On Wed, Oct 9, 2024 at 5:10 PM Jaegeuk Kim via Linux-f2fs-devel
<linux-f2fs-devel@lists.sourceforge.net> wrote:
>
> This fixes a regression which prevents parallel DIO reads.
>
> Fixes: 0cac51185e65 ("f2fs: fix to avoid racing in between read and OPU dio write")
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> ---
> fs/f2fs/file.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 71d5ded9eeda..adc7d64a6f47 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -4647,7 +4647,8 @@ static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
> iov_iter_count(to), READ);
>
> /* In LFS mode, if there is inflight dio, wait for its completion */
> - if (f2fs_lfs_mode(F2FS_I_SB(inode)))
> + if (f2fs_lfs_mode(F2FS_I_SB(inode)) &&
> + get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE))
> inode_dio_wait(inode);
>
> if (f2fs_should_use_dio(inode, iocb, to)) {
> --
> 2.47.0.rc1.288.g06298d1525-goog
>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
© 2016 - 2026 Red Hat, Inc.