]> xenbits.xensource.com Git - libvirt.git/commitdiff
libxl: Create log directory earlier
authorStefan Bader <stefan.bader@canonical.com>
Tue, 25 Mar 2014 15:28:36 +0000 (16:28 +0100)
committerEric Blake <eblake@redhat.com>
Tue, 25 Mar 2014 16:14:06 +0000 (10:14 -0600)
Commit d9f19c30d054c86b15a304f4118baa4fa75af9d2 moved a lot of the
configuration setup into libxlDriverConfigNew().
However that tries to create the libxl/libxl-driver.log before the
libxl directory gets created in libxlStateInitialize().

This causes the daemon to fail on systems that have not had the directory
created before.

Move the code to create the libxl directory into libxlDriverConfigNew().

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
src/libxl/libxl_conf.c
src/libxl/libxl_driver.c

index 4c62e7332dc69d4894431c1b0a9e605e929f00a2..de6f7ce5ad7d6abdc5bf9fea21e7c504fa9f1dc9 100644 (file)
@@ -1108,6 +1108,14 @@ libxlDriverConfigNew(void)
     if (virAsprintf(&log_file, "%s/libxl-driver.log", cfg->logDir) < 0)
         goto error;
 
+    if (virFileMakePath(cfg->logDir) < 0) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("failed to create log dir '%s': %s"),
+                       cfg->logDir,
+                       virStrerror(errno, ebuf, sizeof(ebuf)));
+        goto error;
+    }
+
     if ((cfg->logger_file = fopen(log_file, "a")) == NULL)  {
         VIR_ERROR(_("Failed to create log file '%s': %s"),
                   log_file, virStrerror(errno, ebuf, sizeof(ebuf)));
index b44d7719e23ad5b954f5223f325f666c0d72e958..fc97db4a487b206314e7bb6a406d47504b5e55a2 100644 (file)
@@ -306,13 +306,6 @@ libxlStateInitialize(bool privileged,
         goto error;
 
     libxl_driver->config = cfg;
-    if (virFileMakePath(cfg->logDir) < 0) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("failed to create log dir '%s': %s"),
-                       cfg->logDir,
-                       virStrerror(errno, ebuf, sizeof(ebuf)));
-        goto error;
-    }
     if (virFileMakePath(cfg->stateDir) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("failed to create state dir '%s': %s"),