[libvirt] [PATCH 3/4] libxl: add dump dir to libxlDriverConfig object
Michal Privoznik
mprivozn at redhat.com
Mon Feb 24 13:39:28 UTC 2014
On 21.02.2014 00:02, Jim Fehlig wrote:
> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
> ---
>
> Without a libxl config file, I suppose the only thing needed here is
> the #define in libxl_conf.h. But I have a dusty series adding lockd
> support to the libxl driver, which I'll be cleaning off soon. That
> series introduces libxl.conf, and can be expanded to include an auto
> dump dir entry.
>
> src/libxl/libxl_conf.c | 3 +++
> src/libxl/libxl_conf.h | 2 ++
> src/libxl/libxl_driver.c | 7 +++++++
> 3 files changed, 12 insertions(+)
>
> diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
> index 4cefadf..13eddd1 100644
> --- a/src/libxl/libxl_conf.c
> +++ b/src/libxl/libxl_conf.c
> @@ -97,6 +97,7 @@ libxlDriverConfigDispose(void *obj)
> VIR_FREE(cfg->stateDir);
> VIR_FREE(cfg->libDir);
> VIR_FREE(cfg->saveDir);
> + VIR_FREE(cfg->autoDumpDir);
> }
>
> static int
> @@ -1078,6 +1079,8 @@ libxlDriverConfigNew(void)
> goto error;
> if (VIR_STRDUP(cfg->saveDir, LIBXL_SAVE_DIR) < 0)
> goto error;
> + if (VIR_STRDUP(cfg->autoDumpDir, LIBXL_DUMP_DIR) < 0)
> + goto error;
>
> if (virAsprintf(&log_file, "%s/libxl-driver.log", cfg->logDir) < 0)
> goto error;
> diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h
> index ca7bc7d..f089a92 100644
> --- a/src/libxl/libxl_conf.h
> +++ b/src/libxl/libxl_conf.h
> @@ -48,6 +48,7 @@
> # define LIBXL_LOG_DIR LOCALSTATEDIR "/log/libvirt/libxl"
> # define LIBXL_LIB_DIR LOCALSTATEDIR "/lib/libvirt/libxl"
> # define LIBXL_SAVE_DIR LIBXL_LIB_DIR "/save"
> +# define LIBXL_DUMP_DIR LIBXL_LIB_DIR "/dump"
> # define LIBXL_BOOTLOADER_PATH BINDIR "/pygrub"
>
>
> @@ -82,6 +83,7 @@ struct _libxlDriverConfig {
> char *stateDir;
> char *libDir;
> char *saveDir;
> + char *autoDumpDir;
> };
>
>
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index e600de7..e18fead 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -976,6 +976,13 @@ libxlStateInitialize(bool privileged,
> virStrerror(errno, ebuf, sizeof(ebuf)));
> goto error;
> }
> + if (virFileMakePath(cfg->autoDumpDir) < 0) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("failed to create dump dir '%s': %s"),
> + cfg->autoDumpDir,
> + virStrerror(errno, ebuf, sizeof(ebuf)));
> + goto error;
> + }
>
> /* read the host sysinfo */
> libxl_driver->hostsysinfo = virSysinfoRead();
>
ACK
Michal
More information about the libvir-list
mailing list