]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Move validation of PR manager support
authorPeter Krempa <pkrempa@redhat.com>
Fri, 11 May 2018 12:53:54 +0000 (14:53 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 16 May 2018 04:32:28 +0000 (06:32 +0200)
Disk source definition should be validated in
qemuDomainValidateStorageSource rather than in individual generators of
command line arguments.

Change to the XML2XML test is required since now the definition is
actually validated at define time.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_command.c
src/qemu/qemu_domain.c
tests/qemuxml2xmltest.c

index 330f95bf2401e5f5a57f61277ee5d4fcfce69835..d62dda6d960252174bf8218d6dce598c87a0f399 100644 (file)
@@ -9733,7 +9733,6 @@ qemuBuildPRManagerInfoProps(virDomainObjPtr vm,
                             virJSONValuePtr *propsret,
                             char **aliasret)
 {
-    qemuDomainObjPrivatePtr priv = vm->privateData;
     char *socketPath = NULL;
     char *alias = NULL;
     int ret = -1;
@@ -9744,12 +9743,6 @@ qemuBuildPRManagerInfoProps(virDomainObjPtr vm,
     if (!virStoragePRDefIsEnabled(disk->src->pr))
         return 0;
 
-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER)) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                       _("reservations not supported with this QEMU binary"));
-        return ret;
-    }
-
     if (!(socketPath = qemuDomainGetPRSocketPath(vm, disk->src->pr)))
         return ret;
 
index 8d0ab9788fbf1b3b7280e313ddeb49d7ac014122..8a39956564623185f508ffa5376e4f877c4e2426 100644 (file)
@@ -4204,6 +4204,13 @@ qemuDomainValidateStorageSource(virStorageSourcePtr src,
         }
     }
 
+    if (virStoragePRDefIsEnabled(src->pr) &&
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER)) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("reservations not supported with this QEMU binary"));
+        return -1;
+    }
+
     return 0;
 }
 
index 17f204fda2effaab8c226d5f0f44122d88c51a51..7cedc2b999b3b22f3430836ea3e4250b6da299a6 100644 (file)
@@ -388,7 +388,7 @@ mymain(void)
     DO_TEST("disk-virtio-scsi-num_queues",
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-reservations",
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_PR_MANAGER_HELPER);
     DO_TEST("disk-virtio-scsi-cmd_per_lun",
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-max_sectors",