]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Shorten domain name for watchdog coredump
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 13 Jun 2016 14:28:06 +0000 (16:28 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Thu, 16 Jun 2016 14:01:14 +0000 (16:01 +0200)
Similarly to commit d294f6b0dff7, if the name is long enough, the
filename can be longer than filesystem's limit.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1334237

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_driver.c

index bcb0cf0bfb53b9b9d7b706fb8e032781b4fc0d20..f289a831bb531c78bd26d0d65613caa17e00326e 100644 (file)
@@ -3906,6 +3906,10 @@ static void processWatchdogEvent(virQEMUDriverPtr driver, virDomainObjPtr vm, in
 {
     int ret;
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
+    char *domname = virDomainObjGetShortName(vm);
+
+    if (!domname)
+        goto cleanup;
 
     switch (action) {
     case VIR_DOMAIN_WATCHDOG_ACTION_DUMP:
@@ -3915,7 +3919,7 @@ static void processWatchdogEvent(virQEMUDriverPtr driver, virDomainObjPtr vm, in
 
             if (virAsprintf(&dumpfile, "%s/%s-%u",
                             cfg->autoDumpPath,
-                            vm->def->name,
+                            domname,
                             (unsigned int)time(NULL)) < 0)
                 goto cleanup;
 
@@ -3959,6 +3963,7 @@ static void processWatchdogEvent(virQEMUDriverPtr driver, virDomainObjPtr vm, in
     qemuDomainObjEndAsyncJob(driver, vm);
 
  cleanup:
+    VIR_FREE(domname);
     virObjectUnref(cfg);
 }