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 Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux