[libvirt] [PATCH] LXC complement PATH environment variable of a controller

Ryota Ozaki ozaki.ryota at gmail.com
Tue Oct 13 21:05:15 UTC 2009


Hi,

lxc controller usually executes 'ip' command to control veths, however
now PATH environment variable of the controller is not set (logging
code resets environment variables all) and the execution will definitely
fail because the controller cannot find the executable.

This patch complements PATH with driver's one. The code is just copied
from qemu_conf.c

Thanks,
  ozaki-r

>From c98136628c1ea0964191be976b23ac99d0f7bb7b Mon Sep 17 00:00:00 2001
From: Ryota Ozaki <ozaki.ryota at gmail.com>
Date: Wed, 14 Oct 2009 05:09:04 +0900
Subject: [PATCH] LXC complement PATH environment variable of a controller

* src/lxc/lxc_driver.c: without PATH, the controller will definitely
  fail to call ip command
---
 src/lxc/lxc_driver.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 0b614e3..783dfcc 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1005,6 +1005,19 @@ static int lxcControllerStart(virConnectPtr conn,
         lenv[lenvc++] = envval;                                         ¥
     } while (0)

+#define ADD_ENV_COPY(envname)                                           ¥
+    do {                                                                ¥
+        char *val = getenv(envname);                                    ¥
+        if (val != NULL) {                                              ¥
+            ADD_ENV_PAIR(envname, val);                                 ¥
+        }                                                               ¥
+    } while (0)
+
+    /*
+     * The controller may call ip command, so we have to remain PATH.
+     */
+    ADD_ENV_COPY("PATH");
+
     log_level = virLogGetDefaultPriority();
     if (virAsprintf(&tmp, "LIBVIRT_DEBUG=%d", log_level) < 0)
         goto no_memory;
-- 
1.6.2.5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-LXC-complement-PATH-environment-variable-of-a-contro.patch
Type: application/octet-stream
Size: 1460 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20091014/b1fba8e5/attachment-0001.obj>


More information about the libvir-list mailing list