Re: [RFC PATCH 1/3] fs: pass READ/WRITE to kiocb_set_rw_flags()
From: Jan Kara <jack@suse.cz>
Date: 2019-09-20 14:38:48
Also in:
linux-btrfs, linux-fsdevel
From: Jan Kara <jack@suse.cz>
Date: 2019-09-20 14:38:48
Also in:
linux-btrfs, linux-fsdevel
On Wed 18-09-19 23:53:44, Omar Sandoval wrote:
From: Omar Sandoval <redacted> A following change will want to check whether an IO is a read or write in kiocb_set_rw_flags(). Additionally, aio and io_uring currently set the IOCB_WRITE flag on a kiocb right before calling call_write_iter(), but we can move that into the common code. Cc: Jan Kara <jack@suse.cz> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Omar Sandoval <redacted>
...
index ffe35d97afcb..75c4b7680385 100644--- a/include/linux/fs.h +++ b/include/linux/fs.h@@ -3351,8 +3351,11 @@ static inline int iocb_flags(struct file *file) return res; } -static inline int kiocb_set_rw_flags(struct kiocb *ki, rwf_t flags) +static inline int kiocb_set_rw_flags(int rw, struct kiocb *ki, rwf_t flags) { + if (rw == WRITE) + ki->ki_flags |= IOCB_WRITE; + if (unlikely(flags & ~RWF_SUPPORTED)) return -EOPNOTSUPP;
I'd find it more natural if the destination argument (i.e., kiocb) stayed to be the first argument of the function. Otherwise the patch looks good to me. Honza -- Jan Kara [off-list ref] SUSE Labs, CR