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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux