Re: [PATCH RFC v7 06/16] fuse: {uring} Handle SQEs - register commands

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

 



On 12/3/24 13:49, Bernd Schubert wrote:
On 12/3/24 14:24, Pavel Begunkov wrote:
On 11/27/24 13:40, Bernd Schubert wrote:
This adds basic support for ring SQEs (with opcode=IORING_OP_URING_CMD).
For now only FUSE_URING_REQ_FETCH is handled to register queue entries.
...
+    /*
+     * Direction for buffer access will actually be READ and WRITE,
+     * using write for the import should include READ access as well.
+     */
+    ret = import_iovec(WRITE, uiov, FUSE_URING_IOV_SEGS,
+               FUSE_URING_IOV_SEGS, &iov, &iter);

You're throwing away the iterator, I'd be a bit cautious about it.
FUSE_URING_IOV_SEGS is 2, so it should avoid ITER_UBUF, but Jens
can say if it's abuse of the API or not.

Fwiw, it's not the first place I know of that just want to get
an iovec avoiding playing games with different iterator modes.


Shall I create new exported function like import_iovec_from_user()
that duplicates all the parts from __import_iovec()? I could also
let __import_iovec() use that new function, although there will be
less inlining with -02.

I'd say we can just leave it as is for now and deal later. That is
unless someone complains.

+int fuse_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags)
+{
+    struct fuse_dev *fud;
+    struct fuse_conn *fc;
+    u32 cmd_op = cmd->cmd_op;
+    int err;
+
+    /* Disabled for now, especially as teardown is not implemented
yet */
+    pr_info_ratelimited("fuse-io-uring is not enabled yet\n");
+    return -EOPNOTSUPP;

Do compilers give warnings about such things? Unreachable code, maybe.
I don't care much, but if they do to avoid breaking CONFIG_WERROR you
might want to do sth about it. E.g. I'd usually mark the function
__maybe_unused and not set it into fops until a later patch.


I don't get any warning, but I can also do what you suggest.

Got it, no preference then.

--
Pavel Begunkov





[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