From: Bernd Schubert <bschubert@ddn.com>
To: Miklos Szeredi <miklos@szeredi.hu>, Vivek Goyal <vgoyal@redhat.com>
Cc: Dharmendra Hans <dharamhans87@gmail.com>,
linux-fsdevel@vger.kernel.org,
fuse-devel <fuse-devel@lists.sourceforge.net>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 0/3] FUSE: Implement atomic lookup + open/create
Date: Wed, 11 May 2022 11:59:45 +0200 [thread overview]
Message-ID: <8ee12e2e-94b0-a66c-104c-9b8cec92b5a5@ddn.com> (raw)
In-Reply-To: <CAJfpegseGaWHkjdQj7XiR=TQNFpPZzDF_rTXces2oRz=x0N7OA@mail.gmail.com>
On 5/11/22 11:40, Miklos Szeredi wrote:
> On Thu, 5 May 2022 at 21:59, Vivek Goyal <vgoyal@redhat.com> wrote:
>
>> Oh, I have no issues with the intent. I will like to see cut in network
>> traffic too (if we can do this without introducing problems). My primary
>> interest is that this kind of change should benefit virtiofs as well.
>
> One issue with that appears to be checking permissions. AFAIU this
> patchset only enables the optimization if default_permissions is
> turned off (i.e. all permission checking is done by the server). But
> virtiofs uses the default_permissions model.
>
> I'm not quite sure about this limitation, guessing that it's related
> to the fact that the permissions may be stale at the time of checking?
Yes exactly, I had actually pointed this out in one of the mails.
<quote myself from 2022-04-05 >
Adding in a vfs ->open_revalidate might have the advantage that we could
also support 'default_permissions' - ->open_revalidate needs to
additionally check the retrieved file permissions and and needs to call
into generic_permissions for that. Right now that is not easily
feasible, without adding some code dup to convert flags in MAY_* flags -
a vfs change would be needed here to pass the right flags.
</quote>
Avoiding lookup for create should work without default_permissions, though.
With the current patches this comment should be added in
fuse_dentry_revalidate() to clarify things (somehow it got lost in the
(internal) review process).
/* Default permissions actually also would not need revalidate, if
atomic_open() could verify attributes after opening the file. But the
MAY_ flags are missing and the vfs build_open_flags() to recreate these
flags not exported. Thus, default_permissions() cannot be called from
here - vfs updates would be required */
Thanks,
Bernd
next prev parent reply other threads:[~2022-05-11 10:01 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-02 10:25 [PATCH v4 0/3] FUSE: Implement atomic lookup + open/create Dharmendra Singh
2022-05-02 10:25 ` [PATCH v4 1/3] FUSE: Implement atomic lookup + create Dharmendra Singh
2022-05-03 12:43 ` Vivek Goyal
2022-05-03 14:13 ` Vivek Goyal
2022-05-03 19:53 ` Vivek Goyal
2022-05-03 20:48 ` Bernd Schubert
2022-05-04 4:26 ` Dharmendra Hans
2022-05-04 14:47 ` Vivek Goyal
2022-05-04 15:46 ` Bernd Schubert
2022-05-04 17:31 ` Vivek Goyal
2022-05-05 4:51 ` Dharmendra Hans
2022-05-05 14:26 ` Vivek Goyal
2022-05-06 5:34 ` Dharmendra Hans
2022-05-06 14:12 ` Vivek Goyal
2022-05-06 16:41 ` Bernd Schubert
2022-05-06 17:07 ` Vivek Goyal
2022-05-06 18:45 ` Bernd Schubert
2022-05-07 10:42 ` Jean-Pierre André
2022-05-11 10:08 ` Bernd Schubert
2022-05-02 10:25 ` [PATCH v4 2/3] FUSE: Implement atomic lookup + open Dharmendra Singh
2022-05-04 18:20 ` Vivek Goyal
2022-05-05 6:39 ` Dharmendra Hans
2022-05-02 10:25 ` [PATCH v4 3/3] FUSE: Avoid lookup in d_revalidate() Dharmendra Singh
2022-05-04 20:39 ` Vivek Goyal
2022-05-04 21:05 ` Bernd Schubert
2022-05-05 5:49 ` Dharmendra Hans
2022-05-04 19:18 ` [PATCH v4 0/3] FUSE: Implement atomic lookup + open/create Vivek Goyal
2022-05-05 6:12 ` Dharmendra Hans
2022-05-05 12:54 ` Vivek Goyal
2022-05-05 15:13 ` Bernd Schubert
2022-05-05 19:59 ` Vivek Goyal
2022-05-11 9:40 ` Miklos Szeredi
2022-05-11 9:59 ` Bernd Schubert [this message]
2022-05-11 17:21 ` Vivek Goyal
2022-05-11 19:30 ` Vivek Goyal
2022-05-12 8:16 ` Dharmendra Hans
2022-05-12 15:24 ` Vivek Goyal
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=8ee12e2e-94b0-a66c-104c-9b8cec92b5a5@ddn.com \
--to=bschubert@ddn.com \
--cc=dharamhans87@gmail.com \
--cc=fuse-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=vgoyal@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).