From: Jim Fehlig Date: Wed, 19 Feb 2014 23:09:36 +0000 (-0700) Subject: libxl: add dump dir to libxlDriverConfig object X-Git-Tag: v1.2.2-rc2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2de456e4e7906402a9892d5e5fbc46754087689;p=thirdparty%2Flibvirt.git libxl: add dump dir to libxlDriverConfig object Signed-off-by: Jim Fehlig --- diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 4cefadf37f..13eddd11fd 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 ca7bc7de86..f089a928dc 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 0b9bf7d66e..088baf0c01 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -977,6 +977,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();