From: Martin Kletzander Date: Mon, 13 Jun 2016 14:28:06 +0000 (+0200) Subject: qemu: Shorten domain name for watchdog coredump X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ab74f60a3668c401ff812ff0beb38f34bf4dcc6b;p=libvirt.git qemu: Shorten domain name for watchdog coredump 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 --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index bcb0cf0bfb..f289a831bb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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); }