Ian Campbell
2012-Aug-01 11:52 UTC
[PATCH] libxl: only read script once in libxl__hotplug_*
# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1343821803 -3600
# Node ID 5ba5402335fe0365d2d0110df34a8bd58c5381da
# Parent 3aecd311802744b325a4bf246f1b4507baf2d932
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 <ian.campbell@citrix.com>
diff -r 3aecd3118027 -r 5ba5402335fe tools/libxl/libxl_linux.c
--- a/tools/libxl/libxl_linux.c Wed Aug 01 12:50:03 2012 +0100
+++ b/tools/libxl/libxl_linux.c Wed Aug 01 12:50:03 2012 +0100
@@ -80,22 +80,14 @@ char *libxl__devid_to_localdev(libxl__gc
/* 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
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
goto error;
}
- *env = get_hotplug_env(gc, dev);
+ *env = get_hotplug_env(gc, script, dev);
if (!*env) {
rc = ERROR_FAIL;
goto error;
Ian Jackson
2012-Aug-02 15:10 UTC
Re: [PATCH] libxl: only read script once in libxl__hotplug_*
Ian Campbell writes ("[PATCH] libxl: only read script once in
libxl__hotplug_*"):> 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.
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell
2012-Aug-03 09:01 UTC
Re: [PATCH] libxl: only read script once in libxl__hotplug_*
On Thu, 2012-08-02 at 16:10 +0100, Ian Jackson wrote:> Ian Campbell writes ("[PATCH] libxl: only read script once in libxl__hotplug_*"): > > 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. > > Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>Applied, thanks.