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