]> xenbits.xensource.com Git - libvirt.git/commitdiff
virDomainShmemDef: Change type of model to virDomainShmemModel
authorTim Wiederhake <twiederh@redhat.com>
Tue, 27 Apr 2021 15:04:36 +0000 (17:04 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 6 May 2021 10:34:41 +0000 (12:34 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/qemu/qemu_command.c
src/qemu/qemu_hotplug.c
src/qemu/qemu_validate.c
src/security/virt-aa-helper.c

index c1617abf46c75d062b2b031a2bbb01f9300c5d36..7f4f16505600d2d9792f738abfa09d7b9d9032db 100644 (file)
@@ -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);
     }
 
index 760f0574affde07085e4da587cfdf7c964176931..7120503d7731be0de0fd8bd753f6806a26b23b1d 100644 (file)
@@ -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;
index ca2265cc9072b17a6c3505a2a16feeb295be6187..455dd72cf8c7cd12a2616fade4dad5a187bd101a 100644 (file)
@@ -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;
index 444d89d64aecd553b63af0bac4cfe97bbbe065d9..a64cddb9e783700a7ea4f7475bd974952e01eaaa 100644 (file)
@@ -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;
index b3648724d03d39accce2f15ed9cac9196d0ca47f..141203f979e7c28b313e5bc218aa672f1bc14bc3 100644 (file)
@@ -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;
index 2331cc6648ff7c69cec0241d33de6109eb088416..e0d78ae30947954e1f71ed09f3487f78ffdd3a88 100644 (file)
@@ -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)