public inbox for [email protected]
 help / color / mirror / Atom feed
From: Pavel Begunkov <[email protected]>
To: Sidong Yang <[email protected]>
Cc: Josef Bacik <[email protected]>,
	David Sterba <[email protected]>, Jens Axboe <[email protected]>,
	[email protected], [email protected]
Subject: Re: [RFC PATCH v5 5/5] btrfs: ioctl: introduce btrfs_uring_import_iovec()
Date: Fri, 21 Mar 2025 10:28:14 +0000	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

On 3/20/25 16:19, Sidong Yang wrote:
> On Thu, Mar 20, 2025 at 12:01:42PM +0000, Pavel Begunkov wrote:
>> On 3/19/25 06:12, Sidong Yang wrote:
>>> This patch introduces btrfs_uring_import_iovec(). In encoded read/write
>>> with uring cmd, it uses import_iovec without supporting fixed buffer.
>>> btrfs_using_import_iovec() could use fixed buffer if cmd flags has
>>> IORING_URING_CMD_FIXED.
>>
>> Looks fine to me. The only comment, it appears btrfs silently ignored
>> IORING_URING_CMD_FIXED before, so theoretically it changes the uapi.
>> It should be fine, but maybe we should sneak in and backport a patch
>> refusing the flag for older kernels?
> 
> I think it's okay to leave the old version as it is. Making it to refuse
> the flag could break user application.

Just as this patch breaks it. The cmd is new and quite specific, likely
nobody would notice the change. As it currently stands, the fixed buffer
version of the cmd is going to succeed in 99% of cases on older kernels
because we're still passing an iovec in, but that's only until someone
plays remapping games after a registration and gets bizarre results.

It's up to btrfs folks how they want to handle that, either try to fix
it now, or have a chance someone will be surprised in the future. My
recommendation would be the former one.

-- 
Pavel Begunkov


  reply	other threads:[~2025-03-21 10:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-19  6:12 [RFC PATCH v5 0/5] introduce io_uring_cmd_import_fixed_vec Sidong Yang
2025-03-19  6:12 ` [RFC PATCH v5 1/5] io_uring: rename the data cmd cache Sidong Yang
2025-03-19  6:12 ` [RFC PATCH v5 2/5] io_uring/cmd: don't expose entire cmd async data Sidong Yang
2025-03-19  6:12 ` [RFC PATCH v5 3/5] io_uring/cmd: add iovec cache for commands Sidong Yang
2025-03-19  6:12 ` [RFC PATCH v5 4/5] io_uring/cmd: introduce io_uring_cmd_import_fixed_vec Sidong Yang
2025-03-19  6:12 ` [RFC PATCH v5 5/5] btrfs: ioctl: introduce btrfs_uring_import_iovec() Sidong Yang
2025-03-20 12:01   ` Pavel Begunkov
2025-03-20 16:19     ` Sidong Yang
2025-03-21 10:28       ` Pavel Begunkov [this message]
2025-03-21 11:17         ` Jens Axboe
2025-03-19 15:26 ` (subset) [RFC PATCH v5 0/5] introduce io_uring_cmd_import_fixed_vec Jens Axboe
2025-03-19 15:27   ` Jens Axboe
2025-03-19 17:07     ` David Sterba
2025-03-19 17:10       ` Jens Axboe
2025-03-20  1:47         ` Sidong Yang
2025-03-20 12:04           ` Pavel Begunkov
2025-03-20 16:10             ` Sidong Yang
2025-03-21  9:56               ` Pavel Begunkov
2025-03-20 11:53     ` Pavel Begunkov

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 \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox