From: Peter Krempa <pkre...@redhat.com>

Move the check forbidding VXHS disks and checking the NVME backend
capability to the validation code.

Remove the now unused qemuProcessStartValidateDisks.

Signed-off-by: Peter Krempa <pkre...@redhat.com>
---
 src/qemu/qemu_domain.c  |  9 ++++++++-
 src/qemu/qemu_process.c | 35 -----------------------------------
 2 files changed, 8 insertions(+), 36 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 11f08b8ded..230dc86038 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4453,6 +4453,13 @@ qemuDomainValidateStorageSource(virStorageSource *src,
         }
     }

+    if (actualType == VIR_STORAGE_TYPE_NVME &&
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_NVME)) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("NVMe disks are not supported with this QEMU 
binary"));
+        return -1;
+    }
+
     if (src->pr &&
         !virQEMUCapsGet(qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
@@ -4528,7 +4535,6 @@ qemuDomainValidateStorageSource(virStorageSource *src,
     if (actualType == VIR_STORAGE_TYPE_NETWORK) {
         switch ((virStorageNetProtocol) src->protocol) {
         case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
-        case VIR_STORAGE_NET_PROTOCOL_VXHS:
         case VIR_STORAGE_NET_PROTOCOL_HTTP:
         case VIR_STORAGE_NET_PROTOCOL_HTTPS:
         case VIR_STORAGE_NET_PROTOCOL_FTP:
@@ -4564,6 +4570,7 @@ qemuDomainValidateStorageSource(virStorageSource *src,
             break;

         /* TFTP protocol is not supported since QEMU 2.8.0 */
+        case VIR_STORAGE_NET_PROTOCOL_VXHS:
         case VIR_STORAGE_NET_PROTOCOL_TFTP:
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("storage protocol '%1$s' is not supported by this 
QEMU"),
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 54b84922d6..c13a284473 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5600,38 +5600,6 @@ qemuProcessStartValidateShmem(virDomainObj *vm)
 }


-static int
-qemuProcessStartValidateDisks(virDomainObj *vm,
-                              virQEMUCaps *qemuCaps)
-{
-    size_t i;
-
-    for (i = 0; i < vm->def->ndisks; i++) {
-        virDomainDiskDef *disk = vm->def->disks[i];
-        virStorageSource *src = disk->src;
-
-        /* This is a best effort check as we can only check if the command
-         * option exists, but we cannot determine whether the running QEMU
-         * was build with '--enable-vxhs'. */
-        if (src->type == VIR_STORAGE_TYPE_NETWORK &&
-            src->protocol == VIR_STORAGE_NET_PROTOCOL_VXHS) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("VxHS protocol is not supported with this QEMU 
binary"));
-            return -1;
-        }
-
-        if (src->type == VIR_STORAGE_TYPE_NVME &&
-            !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_NVME)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("NVMe disks are not supported with this QEMU 
binary"));
-            return -1;
-        }
-    }
-
-    return 0;
-}
-
-
 /* 250 parts per million (ppm) is a half of NTP threshold */
 #define TSC_TOLERANCE 250

@@ -5768,9 +5736,6 @@ qemuProcessStartValidate(virQEMUDriver *driver,
         }
     }

-    if (qemuProcessStartValidateDisks(vm, qemuCaps) < 0)
-        return -1;
-
     if (qemuProcessStartValidateTSC(driver, vm) < 0)
         return -1;

-- 
2.49.0

Reply via email to