From: Max Reitz <mreitz@redhat.com>
To: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>,
qemu-devel@nongnu.org, peterx@redhat.com, philmd@redhat.com,
zhangjiachen.jaycee@bytedance.com
Cc: stefanha@redhat.com, quintela@redhat.com
Subject: Re: [PULL 10/12] virtiofsd: Announce sub-mount points
Date: Tue, 3 Nov 2020 11:24:49 +0100 [thread overview]
Message-ID: <a52b74d6-933d-7c44-ab06-725b5f38c4d1@redhat.com> (raw)
In-Reply-To: <20201102195657.219501-11-dgilbert@redhat.com>
On 02.11.20 20:56, Dr. David Alan Gilbert (git) wrote:
> From: Max Reitz <mreitz@redhat.com>
>
> Whenever we encounter a directory with an st_dev or mount ID that
> differs from that of its parent, we set the FUSE_ATTR_SUBMOUNT flag so
> the guest can create a submount for it.
>
> We only need to do so in lo_do_lookup(). The following functions return
> a fuse_attr object:
> - lo_create(), though fuse_reply_create(): Calls lo_do_lookup().
> - lo_lookup(), though fuse_reply_entry(): Calls lo_do_lookup().
> - lo_mknod_symlink(), through fuse_reply_entry(): Calls lo_do_lookup().
> - lo_link(), through fuse_reply_entry(): Creating a link cannot create a
> submount, so there is no need to check for it.
> - lo_getattr(), through fuse_reply_attr(): Announcing submounts when the
> node is first detected (at lookup) is sufficient. We do not need to
> return the submount attribute later.
> - lo_do_readdir(), through fuse_add_direntry_plus(): Calls
> lo_do_lookup().
>
> Make announcing submounts optional, so submounts are only announced to
> the guest with the announce_submounts option. Some users may prefer the
> current behavior, so that the guest learns nothing about the host mount
> structure.
>
> (announce_submounts is force-disabled when the guest does not present
> the FUSE_SUBMOUNTS capability, or when there is no statx().)
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Message-Id: <20201102161859.156603-6-mreitz@redhat.com>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> tools/virtiofsd/helper.c | 1 +
> tools/virtiofsd/passthrough_ll.c | 22 ++++++++++++++++++++++
> 2 files changed, 23 insertions(+)
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
[...]
> index 34d107975f..ec1008bceb 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
[...]
> @@ -601,6 +604,20 @@ static void lo_init(void *userdata, struct fuse_conn_info *conn)
[...]
> +#ifndef CONFIG_STATX
> + if (lo->announce_submounts) {
> + fuse_log(FUSE_LOG_WARNING, "lo_init: Cannot announce submounts, there "
> + "is no statx()\n");
> + lo->announce_submounts = false;
> + }
> +#endif
When reviewing this series, Miklos noted today that this warning is
wrong (we can still announce submounts even without statx()), and we
concluded that we should probably drop it and the
“lo->announce_submounts = false” assignment (i.e. this whole block).
I don’t think that needs to stop this pull request, though, we can
easily fix it on top.
Max
next prev parent reply other threads:[~2020-11-03 10:25 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-02 19:56 [PULL 00/12] migration queue Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 01/12] migration: Unify reset of last_rb on destination node when recover Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 02/12] migration: Postpone the kick of the fault thread after recover Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 03/12] virtiofsd: Seccomp: Add 'send' for syslog Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 04/12] tools/virtiofsd: Check vu_init() return value (CID 1435958) Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 05/12] virtiofsd: Fix the help message of posix lock Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 06/12] virtiofsd: Check FUSE_SUBMOUNTS Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 07/12] virtiofsd: Add attr_flags to fuse_entry_param Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 08/12] meson.build: Check for statx() Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 09/12] virtiofsd: Add mount ID to the lo_inode key Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 10/12] virtiofsd: Announce sub-mount points Dr. David Alan Gilbert (git)
2020-11-03 10:24 ` Max Reitz [this message]
2020-11-03 10:29 ` Dr. David Alan Gilbert
2020-11-02 19:56 ` [PULL 11/12] tests/acceptance/boot_linux: Accept SSH pubkey Dr. David Alan Gilbert (git)
2020-11-02 19:56 ` [PULL 12/12] tests/acceptance: Add virtiofs_submounts.py Dr. David Alan Gilbert (git)
2020-11-03 10:37 ` [PULL 00/12] migration queue Peter Maydell
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=a52b74d6-933d-7c44-ab06-725b5f38c4d1@redhat.com \
--to=mreitz@redhat.com \
--cc=dgilbert@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=zhangjiachen.jaycee@bytedance.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).