On Fri, Jan 11, 2013 at 08:36:46AM +0900, Kamezawa Hiroyuki wrote:
(2013/01/09 23:16), Michal Privoznik wrote:
>On 09.01.2013 12:01, Gao feng wrote:
>>when we has no host's src mapped to container.
>>there is no .oldroot dir,so libvirt lxc will fail
>>to start when mouting meminfo.
>>
>>in this case,the parameter srcprefix of function
>>lxcContainerMountProcFuse should be NULL.and make
>>this method handle NULL correctly.
>>
>>Signed-off-by: Gao feng <gaofeng(a)cn.fujitsu.com>
>>---
>> src/lxc/lxc_container.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>>diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
>>index d234426..9f22923 100644
>>--- a/src/lxc/lxc_container.c
>>+++ b/src/lxc/lxc_container.c
>>@@ -605,7 +605,7 @@ static int lxcContainerMountProcFuse(virDomainDefPtr def,
>>
>> if ((ret = virAsprintf(&meminfo_path,
>> "%s/%s/%s/meminfo",
>>- srcprefix, LXC_STATE_DIR,
>>+ srcprefix ? srcprefix : "", LXC_STATE_DIR,
>> def->name)) < 0)
>> return ret;
>>
>>@@ -2059,7 +2059,7 @@ static int lxcContainerSetupExtraMounts(virDomainDefPtr
vmDef,
>> goto cleanup;
>>
>> /* Mounts /proc/meminfo etc sysinfo */
>>- if (lxcContainerMountProcFuse(vmDef, "/.oldroot") < 0)
>>+ if (lxcContainerMountProcFuse(vmDef, NULL) < 0)
>> goto cleanup;
>>
>> /* Now we can re-mount the cgroups controllers in the
>>
>
>Now pushed. Thanks.
>
Isn't it better to add following implicitly ?
<filesystem type='mount' accessmode='passthrough'>
<source dir='/'/>
<target dir='/'/>
</filesystem>
Then, non-chroot lxc container will run the same code path with
chroot container.
There'd still be one minor difference - /dev is shared in the
non-chroot case, while the chroot case has completely private
/dev.
I agree that it'd be nice to unify the code paths though. There's
another issue which is going to require us to refactor the code
anyway. Some users want to be able to have mounts from the host
inherited into the container. This requires us to remove the
pivot_root code and use a different approach to setting up the
private root. When doing this change I think it'll be possible
unify the 2 codepaths.
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 :|