From: Horst Birthelmer <horst@birthelmer.de>
To: Jim Harris <jiharris@nvidia.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
Bernd Schubert <bernd@bsbernd.com>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
Konrad Sztyber <ksztyber@nvidia.com>,
Luis Henriques <luis@igalia.com>
Subject: Re: Re: [PATCH] fuse: skip lookup during atomic_open() when O_CREAT is set
Date: Fri, 27 Feb 2026 08:59:11 +0100 [thread overview]
Message-ID: <aaFNUF2ZhhsAte9G@fedora.fritz.box> (raw)
In-Reply-To: <6D884659-21B7-438D-8323-477EA22ACD43@nvidia.com>
On Thu, Feb 26, 2026 at 11:11:22PM +0000, Jim Harris wrote:
>
>
> > On Feb 24, 2026, at 8:33 AM, Miklos Szeredi <miklos@szeredi.hu> wrote:
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Mon, 23 Feb 2026 at 19:55, Horst Birthelmer <horst@birthelmer.de> wrote:
> >
> >> What is wrong with a compound doing LOOKUP + MKNOD + OPEN?
> >> If the fuse server knows how to process that 'group' atomically
> >> in one big step it will do the right thing,
> >> if not, we will call those in series and sort out the data
> >> in kernel afterwards.
> >>
> >> If we preserve all flags and the real results we can do pretty
> >> much exactly the same thing that is done at the moment with just
> >> one call to user space.
> >>
> >> That was actually what I was experimenting with.
> >>
> >> The MKNOD in the middle is optional depending on the O_CREAT flag.
> >
> > Okay, I won't stop you experimenting.
> >
> > My thinking is that it's simpler as a separate op (dir handle and name
> > are the same for LOOKUP and MKNOD). But adding this special "stop if
> > error or non-regular, else skip create if positive" dependency would
> > also work.
> >
> > Thanks,
> > Miklos
>
> Thanks for the feedback everyone. Sounds like compounds will be the way forward to optimize this path, once they are ready.
>
> Do we think compounds will be land for 7.1? Or later?
I honestly have no idea. I'm going as fast as I can.
BTW, the post you are responding to, wasn't meant to reject the patch IMHO, but the change in behavior could actually
become a real problem.
I have the same fear for the compound of open+getattr, which actually solves a bug, but could be trouble for
people making the wrong assumptions in their fuse servers.
>
> Best regards,
>
> Jim
>
Cheers,
Horst
next prev parent reply other threads:[~2026-02-27 7:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-20 20:41 [PATCH] fuse: skip lookup during atomic_open() when O_CREAT is set Jim Harris
2026-02-21 15:19 ` Horst Birthelmer
2026-02-23 15:09 ` Miklos Szeredi
2026-02-23 15:36 ` Bernd Schubert
2026-02-23 15:53 ` Miklos Szeredi
2026-02-23 16:43 ` Luis Henriques
2026-02-23 16:48 ` Bernd Schubert
2026-02-23 18:55 ` Horst Birthelmer
2026-02-24 15:33 ` Miklos Szeredi
2026-02-26 23:11 ` Jim Harris
2026-02-27 7:59 ` Horst Birthelmer [this message]
2026-02-23 14:57 ` Miklos Szeredi
2026-02-23 16:41 ` 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=aaFNUF2ZhhsAte9G@fedora.fritz.box \
--to=horst@birthelmer.de \
--cc=bernd@bsbernd.com \
--cc=jiharris@nvidia.com \
--cc=ksztyber@nvidia.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luis@igalia.com \
--cc=mgurtovoy@nvidia.com \
--cc=miklos@szeredi.hu \
/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