Priyanka Gupta
2021-Jun-23 09:08 UTC
unaccessible directory in lxcContainerResolveSymlinks
Hi Michal, This is how snippets from my XML looks like. Full XML at the end of the mail.. <emulator>/usr/sbin/libvirt_lxc</emulator> <filesystem type='mount' accessmode='passthrough'> <source dir='/vol/usb1/iox/repo-lxc/utd/rootfs_mnt'/> <target dir='/'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <source dir='/flash/dir'/> <target dir='/flash/dir'/> </filesystem> The issue I am facing is, my container doesnt start. Fails at mounting this /flash/dir with below message. 2021-06-09 06:52:55.548+0000: 1: error : lxcContainerMountFSBind:1223 : Failed to bind mount directory /.oldroot/flash/dir to /flash/dir: No such file or directory I see that .oldroot is added to this path and figured out that lxcContainerPivotRoot is creating and mounting all folders under rootfs to rootfs/.oldroot But durig pivot root, this path /flash/dir is unaccessible and hence we don't seem to create this .oldroot/flash/dir. Later on, during lxcContainerMountFSBind(), /.oldroot/flash/dir bind mount fails. Any thoughts? Thanks Priyanka ===Full XML === <domain type='lxc'> <name>try</name> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64'>exe</type> <init>/sbin/init</init> </os> <devices> <emulator>/usr/sbin/libvirt_lxc</emulator> <filesystem type='mount' accessmode='passthrough'> <source dir='/vol/usb1/iox/repo-lxc/utd/rootfs_mnt'/> <target dir='/'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <source dir='/flash/dir'/> <target dir='/flash/dir'/> </filesystem> <console type='pty'> <target type='lxc' port='2'/> </console> </devices> </domain> On Wed, Jun 23, 2021 at 1:46 PM Michal Pr?vozn?k <mprivozn at redhat.com> wrote:> On 6/22/21 6:17 PM, Priyanka Gupta wrote: > > Hi, > > > > Could someone pls let me know when this condition could possibly arise? > > lxcContainerResolveSymlinks:621 : Skipped unaccessible '/flash/dir' > > > > The code seems to call access('/flash/dir', F_OK) which shall only check > > for existence of this directory '/flash/dir'. I have this directory > > created on my host. Is there anything that I am missing? > > > > Hey, looking into the code the function is ran from a mount namespace > thus the path may not exist. But is there a problem you are seeing? If > so, can you share your LXC XML and describe the problem? I mean, the > message you mention is just a debug printing, harmless. > > Michal > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20210623/6e0ca853/attachment.htm>
Michal Prívozník
2021-Jun-23 09:16 UTC
unaccessible directory in lxcContainerResolveSymlinks
On 6/23/21 11:08 AM, Priyanka Gupta wrote:> Hi Michal, > > This is how snippets from my XML looks like. Full XML at the end of the > mail..? > ? ? <emulator>/usr/sbin/libvirt_lxc</emulator> > ? ? <filesystem type='mount' accessmode='passthrough'> > ? ? ? <source dir='/vol/usb1/iox/repo-lxc/utd/rootfs_mnt'/> > ? ? ? <target dir='/'/> > ? ? </filesystem> > ? ? <filesystem type='mount' accessmode='passthrough'> > ? ? ? <source dir='/flash/dir'/> > ? ? ? <target dir='/flash/dir'/> > ? ? </filesystem> > > The issue I am facing is, my container doesnt start. Fails at mounting > this /flash/dir? with below message. > > 2021-06-09 06:52:55.548+0000: 1: error : lxcContainerMountFSBind:1223 : > Failed to bind mount directory /.oldroot/flash/dir to /flash/dir: No > such file or directoryYeah, the lxc driver thinks that /flash/dir doesn't exist. Unfortunately, I am unable to reproduce - when I mkdir -p /flash/dir and add corresponding <filesystem/> to one of my containers it boots up just fine. What's your libvirt version? Michal