Michal Prívozník
2021-Jun-23 08:16 UTC
unaccessible directory in lxcContainerResolveSymlinks
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
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>