提交 9a08e2cb 编写于 作者: C Chen Hanxiao 提交者: Daniel P. Berrange

LXC: Check the existence of dir before resolving symlinks

If a dir does not exist, raise an immediate error in logs
rather than letting virFileResolveAllLinks fail, since this
gives better error reporting to the user.
Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
上级 0e618c6a
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册