]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Add missing goto on rawio
authorJohn Ferlan <jferlan@redhat.com>
Fri, 19 Sep 2014 09:53:04 +0000 (05:53 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Fri, 19 Sep 2014 09:54:00 +0000 (05:54 -0400)
Commit id '9a2f36ec' added a build conditional of CAP_SYS_RAWIO
in order to determine whether or not a disk definition using rawio
should be allowed on platforms without CAP_SYS_RAWIO. If one was
found, virReportError was used but the code didn't goto cleanup.

This patch adds the goto.

src/qemu/qemu_process.c

index 245a93ce245d1366b1cd6dfc19441bb1c79357ec..eecef126233c2e758c5a958852cb9f70b374b8f5 100644 (file)
@@ -4357,13 +4357,15 @@ int qemuProcessStart(virConnectPtr conn,
         virDomainDeviceDef dev;
         virDomainDiskDefPtr disk = vm->def->disks[i];
 
-        if (vm->def->disks[i]->rawio == 1)
+        if (vm->def->disks[i]->rawio == 1) {
 #ifdef CAP_SYS_RAWIO
             virCommandAllowCap(cmd, CAP_SYS_RAWIO);
 #else
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("Raw I/O is not supported on this platform"));
+            goto cleanup;
 #endif
+        }
 
         dev.type = VIR_DOMAIN_DEVICE_DISK;
         dev.data.disk = disk;