Re: [PATCH v5 03/10] fs: Initial atomic write support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/03/2024 16:34, Jens Axboe wrote:
On 2/26/24 10:36 AM, John Garry wrote:
diff --git a/io_uring/rw.c b/io_uring/rw.c
index d5e79d9bdc71..099dda3ff151 100644
--- a/io_uring/rw.c
+++ b/io_uring/rw.c
@@ -719,7 +719,7 @@ static int io_rw_init_file(struct io_kiocb *req, fmode_t mode)
  	struct kiocb *kiocb = &rw->kiocb;
  	struct io_ring_ctx *ctx = req->ctx;
  	struct file *file = req->file;
-	int ret;
+	int ret, rw_type = (mode == FMODE_WRITE) ? WRITE : READ;
if (unlikely(!file || !(file->f_mode & mode)))
  		return -EBADF;
@@ -728,7 +728,7 @@ static int io_rw_init_file(struct io_kiocb *req, fmode_t mode)
  		req->flags |= io_file_get_flags(file);
kiocb->ki_flags = file->f_iocb_flags;
-	ret = kiocb_set_rw_flags(kiocb, rw->flags);
+	ret = kiocb_set_rw_flags(kiocb, rw->flags, rw_type);
  	if (unlikely(ret))
  		return ret;
  	kiocb->ki_flags |= IOCB_ALLOC_CACHE;
Not sure why you took the lazy way out here rather than just pass it in,
now there's another branhc in the hot path. NAK.

Are you saying to change io_rw_init_file() to this:

io_rw_init_file(struct io_kiocb *req, fmode_t mode, int rw_type)

And the callers can hardcode rw_type?

Thanks,
John




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux