While we assume that -blockdev is supported the validator had also some corner cases for -drive. Since we use '-drive' exclusively for the extremely rarely used SD cards it makes no sense to have the validation. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/qemu/qemu_domain.c | 60 +++--------------------------------------- 1 file changed, 3 insertions(+), 57 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8997041b34..0839744660 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4811,13 +4811,9 @@ qemuDomainValidateActualNetDef(const virDomainNetDef *net, int qemuDomainValidateStorageSource(virStorageSource *src, virQEMUCaps *qemuCaps, - bool maskBlockdev) + bool maskBlockdev G_GNUC_UNUSED) { virStorageType actualType = virStorageSourceGetActualType(src); - bool blockdev = virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV); - - if (maskBlockdev) - blockdev = false; if (src->format == VIR_STORAGE_FILE_COW) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -4870,17 +4866,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - if (src->sliceStorage) { - /* In pre-blockdev era we can't configure the slice so we can allow them - * only for detected backing store entries as they are populated - * from a place that qemu would be able to read */ - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("storage slice is not supported by this QEMU binary")); - return -1; - } - } - if (src->sslverify != VIR_TRISTATE_BOOL_ABSENT) { if (actualType != VIR_STORAGE_TYPE_NETWORK || (src->protocol != VIR_STORAGE_NET_PROTOCOL_HTTPS && @@ -4889,12 +4874,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("ssl verification is supported only with HTTPS/FTPS protocol")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("ssl verification setting is not supported by this QEMU binary")); - return -1; - } } if (src->ncookies > 0) { @@ -4906,12 +4885,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("http cookies are not supported by this QEMU binary")); - return -1; - } - if (virStorageSourceNetCookiesValidate(src) < 0) return -1; } @@ -4926,12 +4899,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("readahead is supported only with HTTP(S)/FTP(s) protocols")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("readahead setting is not supported with this QEMU binary")); - return -1; - } } if (src->timeout > 0) { @@ -4944,12 +4911,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("timeout is supported only with HTTP(S)/FTP(s) protocols")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("timeout setting is not supported with this QEMU binary")); - return -1; - } } if (src->query && @@ -4961,11 +4922,9 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - /* TFTP protocol was not supported for some time, lock it out at least with - * -blockdev */ + /* TFTP protocol was not supported */ if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP && - blockdev) { + src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("'tftp' protocol is not supported with this QEMU binary")); return -1; @@ -4973,13 +4932,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, if (actualType == VIR_STORAGE_TYPE_NETWORK && src->protocol == VIR_STORAGE_NET_PROTOCOL_NFS) { - /* NFS protocol may only be used if current QEMU supports blockdev */ - if (!blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("'nfs' protocol is not supported with this QEMU binary")); - return -1; - } - /* NFS protocol must have exactly one host */ if (src->nhosts != 1) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -5009,12 +4961,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("metadata cache max size control is supported only with qcow2 images")); return -1; } - - if (!blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("metadata cache max size control is not supported with this QEMU binary")); - return -1; - } } if (src->encryption) { -- 2.36.1