[libvirt-users] Reg: Workaround to use pivot_root while using "rootfs" for "/" ?

Hi All, I am trying to start a lxc container using libvirt and I am facing an issue due to pivot_root. The return code from the system call “pivot_root” is EINVAL (Invalid arguments). I isolated the issue to this specific condition check within the system call. This is an code snippet from fs/namespace.c::pivot_root * error = -EINVAL; if (root.mnt->mnt_root != root.dentry) goto out2; /* not a mountpoint */ if (root.mnt->mnt_parent == root.mnt) << this represents a circular mount reference goto out2; /* not attached */ if (new.mnt->mnt_root != new.dentry) goto out2; /* not a mountpoint */ if (new.mnt->mnt_parent == new.mnt) goto out2; /* not attached */ * This issue occurs for me, since I am using fstype "rootfs" as "/" and all binaries are mounted ISO's for execution within "/". Based on information from the below links, I have realized, that pivot_root is not possible for the above case.* **https://lkml.org/lkml/2005/10/8/17 https://bugzilla.kernel.org/show_bug.cgi?id=4857 * I would like to know , if my observations are correct and is there any workaround to overcome this issue? Any help in this regard would be useful. -Alphonse

Hi All, I am trying to start a lxc container using libvirt and I am facing an issue due to pivot_root. The return code from the system call “pivot_root” is EINVAL (Invalid arguments). I isolated the issue to this specific condition check within the system call. This is an code snippet from fs/namespace.c::pivot_root * error = -EINVAL; if (root.mnt->mnt_root != root.dentry) goto out2; /* not a mountpoint */ if (root.mnt->mnt_parent == root.mnt) << this represents a circular mount reference goto out2; /* not attached */ if (new.mnt->mnt_root != new.dentry) goto out2; /* not a mountpoint */ if (new.mnt->mnt_parent == new.mnt) goto out2; /* not attached */ * This issue occurs for me, since I am using fstype "rootfs" as "/" and all binaries are mounted ISO's for execution within "/". Based on information from the below links, I have realized, that pivot_root is not possible for the above case.* **https://lkml.org/lkml/2005/10/8/17 https://bugzilla.kernel.org/show_bug.cgi?id=4857 * I would like to know , if my observations are correct and is there any workaround to overcome this issue? Any help in this regard would be useful. -Alphonse
participants (1)
-
Alphonse Hansel Anthony