From f9e84f5c78248b39f2ac885de6efa8f025ccfa50 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 3 Aug 2012 09:54:06 +0100 Subject: [PATCH] libxl: only read script once in libxl__hotplug_* instead of duplicating the error handling etc in get_hotplug_env just pass the script already read by the caller down. Signed-off-by: Ian Campbell Acked-by: Ian Jackson Committed-by: Ian Campbell --- tools/libxl/libxl_linux.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c index 9ae0b4b88f..1fed3cd521 100644 --- a/tools/libxl/libxl_linux.c +++ b/tools/libxl/libxl_linux.c @@ -80,22 +80,14 @@ char *libxl__devid_to_localdev(libxl__gc *gc, int devid) /* Hotplug scripts helpers */ -static char **get_hotplug_env(libxl__gc *gc, libxl__device *dev) +static char **get_hotplug_env(libxl__gc *gc, + char *script, libxl__device *dev) { - char *be_path = libxl__device_backend_path(gc, dev); - char *script; const char *type = libxl__device_kind_to_string(dev->backend_kind); char **env; int nr = 0; libxl_nic_type nictype; - script = libxl__xs_read(gc, XBT_NULL, - GCSPRINTF("%s/%s", be_path, "script")); - if (!script) { - LOGEV(ERROR, errno, "unable to read script from %s", be_path); - return NULL; - } - const int arraysize = 13; GCNEW_ARRAY(env, arraysize); env[nr++] = "script"; @@ -170,7 +162,7 @@ static int libxl__hotplug_nic(libxl__gc *gc, libxl__device *dev, goto out; } - *env = get_hotplug_env(gc, dev); + *env = get_hotplug_env(gc, script, dev); if (!env) { rc = ERROR_FAIL; goto out; @@ -212,7 +204,7 @@ static int libxl__hotplug_disk(libxl__gc *gc, libxl__device *dev, goto error; } - *env = get_hotplug_env(gc, dev); + *env = get_hotplug_env(gc, script, dev); if (!*env) { rc = ERROR_FAIL; goto error; -- 2.30.2