[libvirt] [PATCH] LXC: Fix return code evaulation in lxcCheckNetNsSupport()

Commit b9dd878f (util: make it easier to grab only regular command exit) changed the call semantics of virCommandRun() and therefore of virRun() too. But lxcCheckNetNsSupport() was not updated. As consequence of this lxcCheckNetNsSupport always failed and broke LXC. Signed-off-by: Richard Weinberger <richard@nod.at> diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index b900bc6..de67004 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1475,8 +1475,7 @@ static int lxcCheckNetNsSupport(void) const char *argv[] = {"ip", "link", "set", "lo", "netns", "-1", NULL}; int ip_rc; - if (virRun(argv, &ip_rc) < 0 || - !(WIFEXITED(ip_rc) && (WEXITSTATUS(ip_rc) != 255))) + if (virRun(argv, &ip_rc) < 0 || ip_rc == 255) return 0; if (lxcContainerAvailable(LXC_CONTAINER_FEATURE_NET) < 0) -- 1.8.4.2

On 04/08/2014 06:26 AM, Richard Weinberger wrote:
Commit b9dd878f (util: make it easier to grab only regular command exit) changed the call semantics of virCommandRun() and therefore of virRun() too. But lxcCheckNetNsSupport() was not updated. As consequence of this lxcCheckNetNsSupport always failed and broke LXC.
Signed-off-by: Richard Weinberger <richard@nod.at>
ACK; will push shortly.
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index b900bc6..de67004 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1475,8 +1475,7 @@ static int lxcCheckNetNsSupport(void) const char *argv[] = {"ip", "link", "set", "lo", "netns", "-1", NULL}; int ip_rc;
- if (virRun(argv, &ip_rc) < 0 || - !(WIFEXITED(ip_rc) && (WEXITSTATUS(ip_rc) != 255))) + if (virRun(argv, &ip_rc) < 0 || ip_rc == 255) return 0;
if (lxcContainerAvailable(LXC_CONTAINER_FEATURE_NET) < 0)
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Richard Weinberger