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