diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index a979452a45d61c33fa5f0ff9e3331ff494ab4cc5..c60f5d8a5dd78eab396cc89f56f51d39dafb2439 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -1696,6 +1696,7 @@ static int lxcContainerResolveSymlinks(virDomainDefPtr vmDef) { char *newroot; size_t i; + char ebuf[1024]; VIR_DEBUG("Resolving symlinks"); @@ -1703,6 +1704,13 @@ static int lxcContainerResolveSymlinks(virDomainDefPtr vmDef) virDomainFSDefPtr fs = vmDef->fss[i]; if (!fs->src) continue; + + if (access(fs->src, F_OK)) { + VIR_DEBUG("Failed to access '%s': %s", fs->src, + virStrerror(errno, ebuf, sizeof(ebuf))); + return -1; + } + VIR_DEBUG("Resolving '%s'", fs->src); if (virFileResolveAllLinks(fs->src, &newroot) < 0) { VIR_DEBUG("Failed to resolve symlink at %s", fs->src);