2020-02-01 07:14:07

by chenqiwu

[permalink] [raw]
Subject: [PATCH] ocfs2: remove trivial nowait check for buffered read/write

From: chenqiwu <[email protected]>

Remove trivial nowait check for buffered read/write, since
buffered read is checked in generic_file_read_iter()->
generic_file_buffered_read(), buffered write is checked in
generic_write_checks().

Signed-off-by: chenqiwu <[email protected]>
---
fs/ocfs2/file.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 9876db5..6a5e3b0 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -2298,9 +2298,6 @@ static ssize_t ocfs2_file_write_iter(struct kiocb *iocb,
file->f_path.dentry->d_name.name,
(unsigned int)from->nr_segs); /* GRRRRR */

- if (!direct_io && nowait)
- return -EOPNOTSUPP;
-
if (count == 0)
return 0;

@@ -2453,9 +2450,6 @@ static ssize_t ocfs2_file_read_iter(struct kiocb *iocb,
goto bail;
}

- if (!direct_io && nowait)
- return -EOPNOTSUPP;
-
/*
* buffered reads protect themselves in ->readpage(). O_DIRECT reads
* need locks to protect pending reads from racing with truncate.
--
1.9.1


2020-02-02 09:05:02

by Joseph Qi

[permalink] [raw]
Subject: Re: [PATCH] ocfs2: remove trivial nowait check for buffered read/write



On 20/2/1 15:12, [email protected] wrote:
> From: chenqiwu <[email protected]>
>
> Remove trivial nowait check for buffered read/write, since
> buffered read is checked in generic_file_read_iter()->
> generic_file_buffered_read(), buffered write is checked in
> generic_write_checks().
>
You are right, but check it at the beginning of
ocfs2_file_[read|write]_iter() will save much effort for lock ops, so
I'd like to leave them there.

Thanks,
Joseph