提交 83700237 编写于 作者: M Martin Kletzander

qemu: Report error if per-VM directory cannot be created

Commit f1f68ca3 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=1146886Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 6d91d701
......@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册