All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Begunkov <asml.silence@gmail.com>
To: Bernd Schubert <bschubert@ddn.com>, Miklos Szeredi <miklos@szeredi.hu>
Cc: Jens Axboe <axboe@kernel.dk>,
	linux-fsdevel@vger.kernel.org, io-uring@vger.kernel.org,
	Joanne Koong <joannelkoong@gmail.com>,
	Josef Bacik <josef@toxicpanda.com>,
	Amir Goldstein <amir73il@gmail.com>,
	Ming Lei <tom.leiming@gmail.com>, David Wei <dw@davidwei.uk>,
	bernd@bsbernd.com
Subject: Re: [PATCH RFC v7 06/16] fuse: {uring} Handle SQEs - register commands
Date: Tue, 3 Dec 2024 14:16:31 +0000	[thread overview]
Message-ID: <152e54a9-b54a-4aa7-be24-7adfed06de11@gmail.com> (raw)
In-Reply-To: <07e4b270-f6f5-471a-b2b7-4fb5027fdb20@ddn.com>

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


  reply	other threads:[~2024-12-03 14:15 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-27 13:40 [PATCH RFC v7 00/16] fuse: fuse-over-io-uring Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 01/16] fuse: rename to fuse_dev_end_requests and make non-static Bernd Schubert
2024-11-28  0:19   ` Joanne Koong
2024-11-27 13:40 ` [PATCH RFC v7 02/16] fuse: Move fuse_get_dev to header file Bernd Schubert
2024-11-28  0:20   ` Joanne Koong
2024-11-27 13:40 ` [PATCH RFC v7 03/16] fuse: Move request bits Bernd Schubert
2024-11-28  0:21   ` Joanne Koong
2024-11-27 13:40 ` [PATCH RFC v7 04/16] fuse: Add fuse-io-uring design documentation Bernd Schubert
2024-12-03 12:30   ` Pavel Begunkov
2024-11-27 13:40 ` [PATCH RFC v7 05/16] fuse: make args->in_args[0] to be always the header Bernd Schubert
2024-11-28  0:27   ` Joanne Koong
2024-11-27 13:40 ` [PATCH RFC v7 06/16] fuse: {uring} Handle SQEs - register commands Bernd Schubert
2024-11-28  2:23   ` Joanne Koong
2024-11-28 18:20     ` Bernd Schubert
2024-12-03 13:24   ` Pavel Begunkov
2024-12-03 13:49     ` Bernd Schubert
2024-12-03 14:16       ` Pavel Begunkov [this message]
2024-12-03 13:38   ` Pavel Begunkov
2024-11-27 13:40 ` [PATCH RFC v7 07/16] fuse: Make fuse_copy non static Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 08/16] fuse: Add fuse-io-uring handling into fuse_copy Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 09/16] fuse: {uring} Add uring sqe commit and fetch support Bernd Schubert
2024-12-03 13:47   ` Pavel Begunkov
2024-11-27 13:40 ` [PATCH RFC v7 10/16] fuse: {uring} Handle teardown of ring entries Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 11/16] fuse: {uring} Allow to queue fg requests through io-uring Bernd Schubert
2024-12-03 14:09   ` Pavel Begunkov
2024-12-03 22:46     ` Bernd Schubert
2024-12-08 23:02   ` Pavel Begunkov
2024-11-27 13:40 ` [PATCH RFC v7 12/16] fuse: {uring} Allow to queue bg " Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 13/16] io_uring/cmd: let cmds to know about dying task Bernd Schubert
2024-12-03 12:15   ` Pavel Begunkov
2024-12-03 12:15     ` Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 14/16] fuse: {uring} Handle IO_URING_F_TASK_DEAD Bernd Schubert
2024-12-03 12:20   ` Pavel Begunkov
2024-11-27 13:40 ` [PATCH RFC v7 15/16] fuse: {io-uring} Prevent mount point hang on fuse-server termination Bernd Schubert
2024-11-27 13:40 ` [PATCH RFC v7 16/16] fuse: enable fuse-over-io-uring Bernd Schubert
2024-11-27 13:45 ` [PATCH RFC v7 00/16] fuse: fuse-over-io-uring Bernd Schubert
2024-12-03 14:24 ` Pavel Begunkov
2024-12-03 14:32   ` Bernd Schubert
2024-12-06 11:36     ` Bernd Schubert
2024-12-08 23:16       ` Pavel Begunkov
2024-12-09  8:02         ` Bernd Schubert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=152e54a9-b54a-4aa7-be24-7adfed06de11@gmail.com \
    --to=asml.silence@gmail.com \
    --cc=amir73il@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bernd@bsbernd.com \
    --cc=bschubert@ddn.com \
    --cc=dw@davidwei.uk \
    --cc=io-uring@vger.kernel.org \
    --cc=joannelkoong@gmail.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=tom.leiming@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.