fs/f2fs/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
pinfile is excluded as it operates with direct I/O
Signed-off-by: yohan.joung <yohan.joung@sk.com>
---
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 4039ccb5022c..cac8c9650a7a 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -4844,7 +4844,8 @@ static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
/* In LFS mode, if there is inflight dio, wait for its completion */
if (f2fs_lfs_mode(F2FS_I_SB(inode)) &&
- get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE))
+ get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE) &&
+ !f2fs_is_pinned_file(inode))
inode_dio_wait(inode);
if (f2fs_should_use_dio(inode, iocb, to)) {
--
2.33.0
On 7/21/25 13:41, yohan.joung wrote:
> pinfile is excluded as it operates with direct I/O
pinfile can use buffer IO as well?
Thanks,
>
> Signed-off-by: yohan.joung <yohan.joung@sk.com>
> ---
> 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 4039ccb5022c..cac8c9650a7a 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -4844,7 +4844,8 @@ static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
>
> /* In LFS mode, if there is inflight dio, wait for its completion */
> if (f2fs_lfs_mode(F2FS_I_SB(inode)) &&
> - get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE))
> + get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE) &&
> + !f2fs_is_pinned_file(inode))
> inode_dio_wait(inode);
>
> if (f2fs_should_use_dio(inode, iocb, to)) {
>On 7/21/25 13:41, yohan.joung wrote: >> pinfile is excluded as it operates with direct I/O > >pinfile can use buffer IO as well? only considered direct I/O. I'll re-upload the pinfile considering buffered I/O Thanks > >Thanks, > >> >> Signed-off-by: yohan.joung <yohan.joung@sk.com> >> --- >> 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 4039ccb5022c..cac8c9650a7a 100644 >> --- a/fs/f2fs/file.c >> +++ b/fs/f2fs/file.c >> @@ -4844,7 +4844,8 @@ static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to) >> >> /* In LFS mode, if there is inflight dio, wait for its completion */ >> if (f2fs_lfs_mode(F2FS_I_SB(inode)) && >> - get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE)) >> + get_pages(F2FS_I_SB(inode), F2FS_DIO_WRITE) && >> + !f2fs_is_pinned_file(inode)) >> inode_dio_wait(inode); >>
© 2016 - 2026 Red Hat, Inc.