All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: virtio-fs@redhat.com, Max Reitz <mreitz@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Virtio-fs] [PATCH] virtiofsd: Show submounts
Date: Tue, 28 Apr 2020 15:58:04 +0100	[thread overview]
Message-ID: <20200428145804.GC1374620@redhat.com> (raw)
In-Reply-To: <20200428145143.GB107541@stefanha-x1.localdomain>

On Tue, Apr 28, 2020 at 03:51:43PM +0100, Stefan Hajnoczi wrote:
> On Mon, Apr 27, 2020 at 06:59:02PM +0100, Dr. David Alan Gilbert wrote:
> > * Max Reitz (mreitz@redhat.com) wrote:
> > > Currently, setup_mounts() bind-mounts the shared directory without
> > > MS_REC.  This makes all submounts disappear.
> > > 
> > > Pass MS_REC so that the guest can see submounts again.
> > 
> > Thanks!
> > 
> > > Fixes: 3ca8a2b1c83eb185c232a4e87abbb65495263756
> > 
> > Should this actually be 5baa3b8e95064c2434bd9e2f312edd5e9ae275dc ?
> > 
> > > Signed-off-by: Max Reitz <mreitz@redhat.com>
> > > ---
> > >  tools/virtiofsd/passthrough_ll.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> > > index 4c35c95b25..9d7f863e66 100644
> > > --- a/tools/virtiofsd/passthrough_ll.c
> > > +++ b/tools/virtiofsd/passthrough_ll.c
> > > @@ -2643,7 +2643,7 @@ static void setup_mounts(const char *source)
> > >      int oldroot;
> > >      int newroot;
> > >  
> > > -    if (mount(source, source, NULL, MS_BIND, NULL) < 0) {
> > > +    if (mount(source, source, NULL, MS_BIND | MS_REC, NULL) < 0) {
> > >          fuse_log(FUSE_LOG_ERR, "mount(%s, %s, MS_BIND): %m\n", source, source);
> > >          exit(1);
> > >      }
> > 
> > Do we want MS_SLAVE to pick up future mounts that might happenf rom the
> > host?
> 
> There are two separate concepts:
> 
> 1. Mount namespaces.  The virtiofsd process is sandboxed and lives in
>    its own mount namespace.  Therefore it does not share the mounts that
>    the rest of the host system sees.
> 
> 2. Propagation type.  This is related to bind mounts so that mount
>    operations that happen in one bind-mounted location can also appear
>    in other bind-mounted locations.
> 
> Since virtiofsd is in a separate mount namespace, does the propagation
> type even have any effect?

Yes, propagation should work across mount namespaces if you get the mount
flags right.  You can try it out using  unshare + mount commands
to debug different scenarios.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: virtio-fs@redhat.com, Max Reitz <mreitz@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH] virtiofsd: Show submounts
Date: Tue, 28 Apr 2020 15:58:04 +0100	[thread overview]
Message-ID: <20200428145804.GC1374620@redhat.com> (raw)
In-Reply-To: <20200428145143.GB107541@stefanha-x1.localdomain>

On Tue, Apr 28, 2020 at 03:51:43PM +0100, Stefan Hajnoczi wrote:
> On Mon, Apr 27, 2020 at 06:59:02PM +0100, Dr. David Alan Gilbert wrote:
> > * Max Reitz (mreitz@redhat.com) wrote:
> > > Currently, setup_mounts() bind-mounts the shared directory without
> > > MS_REC.  This makes all submounts disappear.
> > > 
> > > Pass MS_REC so that the guest can see submounts again.
> > 
> > Thanks!
> > 
> > > Fixes: 3ca8a2b1c83eb185c232a4e87abbb65495263756
> > 
> > Should this actually be 5baa3b8e95064c2434bd9e2f312edd5e9ae275dc ?
> > 
> > > Signed-off-by: Max Reitz <mreitz@redhat.com>
> > > ---
> > >  tools/virtiofsd/passthrough_ll.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> > > index 4c35c95b25..9d7f863e66 100644
> > > --- a/tools/virtiofsd/passthrough_ll.c
> > > +++ b/tools/virtiofsd/passthrough_ll.c
> > > @@ -2643,7 +2643,7 @@ static void setup_mounts(const char *source)
> > >      int oldroot;
> > >      int newroot;
> > >  
> > > -    if (mount(source, source, NULL, MS_BIND, NULL) < 0) {
> > > +    if (mount(source, source, NULL, MS_BIND | MS_REC, NULL) < 0) {
> > >          fuse_log(FUSE_LOG_ERR, "mount(%s, %s, MS_BIND): %m\n", source, source);
> > >          exit(1);
> > >      }
> > 
> > Do we want MS_SLAVE to pick up future mounts that might happenf rom the
> > host?
> 
> There are two separate concepts:
> 
> 1. Mount namespaces.  The virtiofsd process is sandboxed and lives in
>    its own mount namespace.  Therefore it does not share the mounts that
>    the rest of the host system sees.
> 
> 2. Propagation type.  This is related to bind mounts so that mount
>    operations that happen in one bind-mounted location can also appear
>    in other bind-mounted locations.
> 
> Since virtiofsd is in a separate mount namespace, does the propagation
> type even have any effect?

Yes, propagation should work across mount namespaces if you get the mount
flags right.  You can try it out using  unshare + mount commands
to debug different scenarios.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2020-04-28 14:58 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24 13:35 [Virtio-fs] [PATCH] virtiofsd: Show submounts Max Reitz
2020-04-24 13:35 ` Max Reitz
2020-04-27 17:59 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-04-27 17:59   ` Dr. David Alan Gilbert
2020-04-28  6:06   ` [Virtio-fs] " Max Reitz
2020-04-28  6:06     ` Max Reitz
2020-04-28  9:59     ` [Virtio-fs] " Dr. David Alan Gilbert
2020-04-28  9:59       ` Dr. David Alan Gilbert
2020-04-28 10:13       ` [Virtio-fs] " Max Reitz
2020-04-28 10:13         ` Max Reitz
2020-04-28 10:19         ` [Virtio-fs] " Dr. David Alan Gilbert
2020-04-28 10:19           ` Dr. David Alan Gilbert
2020-04-28  8:46   ` [Virtio-fs] " Daniel P. Berrangé
2020-04-28  8:46     ` Daniel P. Berrangé
2020-04-28 14:51   ` [Virtio-fs] " Stefan Hajnoczi
2020-04-28 14:51     ` Stefan Hajnoczi
2020-04-28 14:58     ` Daniel P. Berrangé [this message]
2020-04-28 14:58       ` Daniel P. Berrangé
2020-04-28 19:07     ` [Virtio-fs] " Miklos Szeredi
2020-04-28 19:07       ` Miklos Szeredi
2020-04-28 19:15       ` Dr. David Alan Gilbert
2020-04-28 19:15         ` Dr. David Alan Gilbert
2020-04-29  7:59         ` Miklos Szeredi
2020-04-29  7:59           ` Miklos Szeredi
2020-04-29  9:26           ` Miklos Szeredi
2020-04-29  9:26             ` Miklos Szeredi
2020-04-29 12:34             ` Vivek Goyal
2020-04-29 12:34               ` Vivek Goyal
2020-04-29 12:41               ` Vivek Goyal
2020-04-29 12:41                 ` Vivek Goyal
2020-04-29  8:31         ` Max Reitz
2020-04-29  8:31           ` Max Reitz
2020-04-29  8:52           ` Miklos Szeredi
2020-04-29  8:52             ` Miklos Szeredi
2020-04-29  9:31             ` Max Reitz
2020-04-29  9:31               ` Max Reitz
2020-04-29 14:57   ` Dr. David Alan Gilbert
2020-04-29 14:57     ` Dr. David Alan Gilbert
2020-04-29 15:35     ` [Virtio-fs] " Vivek Goyal
2020-04-29 15:35       ` Vivek Goyal
2020-04-30  8:06     ` [Virtio-fs] " Max Reitz
2020-04-30  8:06       ` Max Reitz
2020-04-30  8:58       ` [Virtio-fs] " Dr. David Alan Gilbert
2020-04-30  8:58         ` Dr. David Alan Gilbert
2020-04-30  9:21         ` [Virtio-fs] " Max Reitz
2020-04-30  9:21           ` Max Reitz
2020-04-30 11:38           ` [Virtio-fs] " Max Reitz
2020-04-30 11:38             ` Max Reitz
2020-04-30 13:56         ` [Virtio-fs] " Vivek Goyal
2020-04-30 13:56           ` Vivek Goyal
2020-04-30 14:20           ` [Virtio-fs] " Dr. David Alan Gilbert
2020-04-30 14:20             ` Dr. David Alan Gilbert
2020-04-30 14:24             ` [Virtio-fs] " Vivek Goyal
2020-04-30 14:24               ` Vivek Goyal
2020-04-30 14:34             ` [Virtio-fs] " Daniel P. Berrangé
2020-04-30 14:34               ` Daniel P. Berrangé
2020-04-30 14:41               ` [Virtio-fs] " Vivek Goyal
2020-04-30 14:41                 ` Vivek Goyal
2020-04-30 14:47                 ` [Virtio-fs] " Daniel P. Berrangé
2020-04-30 14:47                   ` Daniel P. Berrangé
2020-04-30 15:41                   ` [Virtio-fs] " Vivek Goyal
2020-04-30 15:41                     ` Vivek Goyal
2020-05-01 17:53 ` [Virtio-fs] " Dr. David Alan Gilbert
2020-05-01 17:53   ` Dr. David Alan Gilbert

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=20200428145804.GC1374620@redhat.com \
    --to=berrange@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=virtio-fs@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 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.