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 - 2025 Red Hat, Inc.