From: Martin Kletzander Date: Tue, 8 Sep 2015 17:12:58 +0000 (+0200) Subject: qemu: Report error if per-VM directory cannot be created X-Git-Tag: v1.2.20-rc1~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8370023730220fcf48f9b1fa0914b60c66452569;p=thirdparty%2Flibvirt.git qemu: Report error if per-VM directory cannot be created Commit f1f68ca33433 did not report an error if virFileMakePath() returned -1. Well, who would've guessed function with name starting with 'vir' sets an errno instead of reporting an error the libvirt way. Anyway, let's fix it, so the output changes from: $ virsh start arm error: Failed to start domain arm error: An error occurred, but the cause is unknown to: $ virsh start arm error: Failed to start domain arm error: Cannot create directory '/var/lib/libvirt/qemu/domain-arm': Not a directory Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1146886 Signed-off-by: Martin Kletzander --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f7eb2b6094..d9a0942c4d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4734,8 +4734,10 @@ int qemuProcessStart(virConnectPtr conn, if (virAsprintf(&tmppath, "%s/domain-%s", cfg->libDir, vm->def->name) < 0) goto cleanup; - if (virFileMakePath(tmppath) < 0) + if (virFileMakePath(tmppath) < 0) { + virReportSystemError(errno, _("Cannot create directory '%s'"), tmppath); goto cleanup; + } if (virSecurityManagerDomainSetDirLabel(driver->securityManager, vm->def, tmppath) < 0) @@ -4747,8 +4749,10 @@ int qemuProcessStart(virConnectPtr conn, cfg->channelTargetDir, vm->def->name) < 0) goto cleanup; - if (virFileMakePath(tmppath) < 0) + if (virFileMakePath(tmppath) < 0) { + virReportSystemError(errno, _("Cannot create directory '%s'"), tmppath); goto cleanup; + } if (virSecurityManagerDomainSetDirLabel(driver->securityManager, vm->def, tmppath) < 0)