From: Tim Wiederhake Date: Tue, 27 Apr 2021 15:04:36 +0000 (+0200) Subject: virDomainShmemDef: Change type of model to virDomainShmemModel X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b3a6daa36dda1f7215a9c031f1628e739b45751a;p=libvirt.git virDomainShmemDef: Change type of model to virDomainShmemModel Signed-off-by: Tim Wiederhake Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c1617abf46..7f4f165056 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13614,15 +13614,17 @@ virDomainShmemDefParseXML(virDomainXMLOption *xmlopt, tmp = virXPathString("string(./model/@type)", ctxt); if (tmp) { + int model; /* If there's none, we will automatically have the first one * (as default). Unfortunately this has to be done for * compatibility reasons. */ - if ((def->model = virDomainShmemModelTypeFromString(tmp)) < 0) { + if ((model = virDomainShmemModelTypeFromString(tmp)) < 0) { virReportError(VIR_ERR_XML_ERROR, _("Unknown shmem model type '%s'"), tmp); goto cleanup; } + def->model = model; VIR_FREE(tmp); } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 760f0574af..7120503d77 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1955,7 +1955,7 @@ typedef enum { struct _virDomainShmemDef { char *name; unsigned long long size; - int model; /* enum virDomainShmemModel */ + virDomainShmemModel model; int role; /* enum virDomainShmemRole */ struct { bool enabled; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ca2265cc90..455dd72cf8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9097,7 +9097,7 @@ qemuBuildShmemCommandLine(virLogManager *logManager, return -1; } - switch ((virDomainShmemModel)shmem->model) { + switch (shmem->model) { case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM: devstr = qemuBuildShmemDevLegacyStr(def, shmem, qemuCaps); break; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 444d89d64a..a64cddb9e7 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2978,7 +2978,7 @@ qemuDomainAttachShmemDevice(virQEMUDriver *driver, qemuDomainObjPrivate *priv = vm->privateData; virDomainDeviceDef dev = { VIR_DOMAIN_DEVICE_SHMEM, { .shmem = shmem } }; - switch ((virDomainShmemModel)shmem->model) { + switch (shmem->model) { case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_PLAIN: case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_DOORBELL: break; @@ -5583,7 +5583,7 @@ qemuDomainDetachPrepShmem(virDomainObj *vm, *detach = shmem = vm->def->shmems[idx]; - switch ((virDomainShmemModel)shmem->model) { + switch (shmem->model) { case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_PLAIN: case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_DOORBELL: break; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index b3648724d0..141203f979 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4893,6 +4893,11 @@ qemuValidateDomainDeviceDefShmem(virDomainShmemDef *shmem, virDomainShmemModelTypeToString(shmem->model)); return -1; } + break; + + case VIR_DOMAIN_SHMEM_MODEL_LAST: + virReportEnumRangeError(virDomainShmemModel, shmem->model); + return -1; } return 0; diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c index 2331cc6648..e0d78ae309 100644 --- a/src/security/virt-aa-helper.c +++ b/src/security/virt-aa-helper.c @@ -1209,6 +1209,10 @@ get_files(vahControl * ctl) mem_path = g_strdup_printf("/var/lib/libvirt/shmem-%s-sock", shmem->name); break; + case VIR_DOMAIN_SHMEM_MODEL_LAST: + virReportEnumRangeError(virDomainShmemModel, + shmem->model); + break; } if (mem_path != NULL) { if (vah_add_file(&buf, mem_path, "rw") != 0)