On Tue, Nov 19, 2013 at 05:53:20PM +0800, Gao feng wrote: > After kernel commit 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 > vfs: Lock in place mounts from more privileged users, > > unprivileged user has no rights to move the mounts that > inherited from parent mountns. we use this feature to move > the /stateDir/domain-name.{dev, devpts} to the /dev/ and > /dev/pts directroy of container. this commit breaks libvirt lxc. > > this patch do the moving on host side, we are privileged user > at this moment. > > Signed-off-by: Gao feng <gaofeng@xxxxxxxxxxxxxx> > --- > src/lxc/lxc_container.c | 81 +----------------------------------------------- > src/lxc/lxc_controller.c | 53 +++++++++++++++++++++++++++++++ > 2 files changed, 54 insertions(+), 80 deletions(-) > > diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c > index 2bdf957..61283e4 100644 > --- a/src/lxc/lxc_container.c > +++ b/src/lxc/lxc_container.c > @@ -953,76 +953,6 @@ static int lxcContainerMountProcFuse(virDomainDefPtr def ATTRIBUTE_UNUSED, > } > #endif > > -static int lxcContainerMountFSDev(virDomainDefPtr def, > - const char *stateDir) > -{ > - int ret = -1; > - char *path = NULL; > - > - VIR_DEBUG("Mount /dev/ stateDir=%s", stateDir); > - > - if ((ret = virAsprintf(&path, "/.oldroot/%s/%s.dev", > - stateDir, def->name)) < 0) > - return ret; > - > - if (virFileMakePath("/dev") < 0) { > - virReportSystemError(errno, "%s", > - _("Cannot create /dev")); > - goto cleanup; > - } > - > - VIR_DEBUG("Trying to move %s to /dev", path); > - > - if (mount(path, "/dev", NULL, MS_MOVE, NULL) < 0) { I wonder if we used MS_BIND instead of MS_MOVE would we avoid the problem completely, and thus not need to move this code around ? Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list