All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sidong Yang <sidong.yang@furiosa.ai>
To: Jens Axboe <axboe@kernel.dk>
Cc: Pavel Begunkov <asml.silence@gmail.com>,
	Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>,
	linux-btrfs@vger.kernel.org, io-uring@vger.kernel.org
Subject: Re: [RFC PATCH v5 5/5] btrfs: ioctl: introduce btrfs_uring_import_iovec()
Date: Sun, 23 Mar 2025 00:23:13 +0900	[thread overview]
Message-ID: <Z97V4cIKINX58r6s@sidongui-MacBookPro.local> (raw)
In-Reply-To: <812ae44c-28e9-40a8-a6f0-b9517c55e513@kernel.dk>

On Fri, Mar 21, 2025 at 05:17:15AM -0600, Jens Axboe wrote:
> On 3/21/25 4:28 AM, Pavel Begunkov wrote:
> > 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.
> 
> I'd strongly recommend that the btrfs side check for valid flags and
> error it. It's a new enough addition that this should not be a concern,
> and silently ignoring (currently) unsupported flags rather than erroring
> them is a mistake.
> 
> Sidong, please do send a patch for that so it can go into 6.13 stable
> and 6.14 to avoid any confusion in this area in the future.

Agreed, It could be seen as a bug that the flag is dismissed silently.
I'll write a patch for this.

Thanks,
Sidong

> 
> -- 
> Jens Axboe

  reply	other threads:[~2025-03-22 15:23 UTC|newest]

Thread overview: 20+ 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
2025-03-21 11:17         ` Jens Axboe
2025-03-22 15:23           ` Sidong Yang [this message]
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 \
    --in-reply-to=Z97V4cIKINX58r6s@sidongui-MacBookPro.local \
    --to=sidong.yang@furiosa.ai \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=dsterba@suse.com \
    --cc=io-uring@vger.kernel.org \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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.