提交 692e9fac 编写于 作者: M Michal Privoznik

lxc_container: Turn lxcAttachNS into calling virProcessSetNamespaces

Now that virProcessSetNamespaces() does accept FD list in the
correct format, we can simply turn lxcAttachNS into calling
virProcessSetNamespaces().
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 fb0ef0d5
...@@ -2184,25 +2184,9 @@ static int lxcContainerDropCapabilities(virDomainDefPtr def ATTRIBUTE_UNUSED, ...@@ -2184,25 +2184,9 @@ static int lxcContainerDropCapabilities(virDomainDefPtr def ATTRIBUTE_UNUSED,
*/ */
static int lxcAttachNS(int *ns_fd) static int lxcAttachNS(int *ns_fd)
{ {
size_t i; if (ns_fd &&
if (ns_fd) virProcessSetNamespaces(VIR_LXC_DOMAIN_NAMESPACE_LAST, ns_fd) < 0)
for (i = 0; i < VIR_LXC_DOMAIN_NAMESPACE_LAST; i++) { return -1;
if (ns_fd[i] < 0)
continue;
VIR_DEBUG("Setting into namespace\n");
/* We get EINVAL if new NS is same as the current
* NS, or if the fd namespace doesn't match the
* type passed to setns()'s second param. Since we
* pass 0, we know the EINVAL is harmless
*/
if (setns(ns_fd[i], 0) < 0 &&
errno != EINVAL) {
virReportSystemError(errno, _("failed to set namespace '%s'"),
virLXCDomainNamespaceTypeToString(i));
return -1;
}
VIR_FORCE_CLOSE(ns_fd[i]);
}
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册