On 11/14/2013 01:52 PM, hzguanqiang@xxxxxxxxxxxxxxxx wrote: > On 2013-11-14 13:41 , Gao feng <mailto:gaofeng@xxxxxxxxxxxxxx> wrote: > > On 11/14/2013 01:24 PM, Gao feng wrote: > > On 11/14/2013 10:59 AM, hzguanqiang@xxxxxxxxxxxxxxxx wrote: > >> Hi experts, > >> > >> When I test lxc-enter-namespace interface, it turned out such an error: > >> > >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir version > >> Compiled against library: libvirt 1.1.4 > >> Using library: libvirt 1.1.4 > >> Using API: LXC 1.1.4 > >> Running hypervisor: LXC 3.9.6 > >> > >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir list > >> Id Name State > >> ---------------------------------------------------- > >> 1544 instance-00000015 running > >> > >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir lxc-enter-namespace 1544 --noseclabel /bin/df -hl > >> error: Cannot get namespaces for 1545: Function not implemented > >> > >> hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> ls /proc/self/ns > >> ipc mnt net pid user uts > >> > >> What's the problem? > >> > > > > Does your system have system call setns? > > grep setns /proc/kallsyms > and > grep setns the config.log of libvirt. > > > Hi, Gaofeng, thanks for your help. The info you want are: > Hi, > hzguanqiang@debian:~/github/libvirt$ <mailto:hzguanqiang@debian:~/github/libvirt$> sudo grep setns /var/log/libvirt/libvirtd.log config.log not libvirtd.log, or you can exec "./configure | grep setns" under libvirt source directory. > hzguanqiang@debian:~/github/libvirt$ <mailto:hzguanqiang@debian:~/github/libvirt$> grep setns /proc/kallsyms > ffffffff8105b993 T sys_setns > > What I found really strange is that the error info returned by the command. > hzguanqiang@debian:~$ <mailto:hzguanqiang@debian:~$> vir lxc-enter-namespace 1544 --noseclabel /bin/df -hl > error: Cannot get namespaces for 1545: Function not implemented > The instance id is 1544, but the error info hint cannot get ns for 1545. > we have two libvirt lxc related process at the first start, one is controller process on host(pid 1544), the other is the container's init task(pid 1545). since lxc-enter-namespace wants to exec cmd in container environment. so libvirt will try to get the namespaces of container's init task. The problem is libvirt/autoconf thinks your system doesn't support setns system call... > The libvirt code of mine is of version 1.1.4 from github (git checkout v1.1.4 -b stable1.1.4 ) > I don't know if the libvirt git repo on github is the right thing, but As I know this repo git://libvirt.org/libvirt.git is official. Please have a try. Thanks _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users