From c2de456e4e7906402a9892d5e5fbc46754087689 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Wed, 19 Feb 2014 16:09:36 -0700 Subject: [PATCH] libxl: add dump dir to libxlDriverConfig object Signed-off-by: Jim Fehlig --- 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 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(); -- GitLab