]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Introduce virDomainCapsCPUModelsGet
authorJiri Denemark <jdenemar@redhat.com>
Fri, 13 Oct 2017 15:37:34 +0000 (17:37 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 16 Oct 2017 07:23:17 +0000 (09:23 +0200)
This internal API can be used to find a specific CPU model in
virDomainCapsCPUModels list.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/conf/domain_capabilities.c
src/conf/domain_capabilities.h
src/cpu/cpu.c
src/libvirt_private.syms

index be3457620476d6c30deb4a2a248554c996f0202a..729d905e2dd4b1a25fd76e390df390008b2fbb36 100644 (file)
@@ -259,6 +259,24 @@ virDomainCapsCPUModelsAdd(virDomainCapsCPUModelsPtr cpuModels,
 }
 
 
+virDomainCapsCPUModelPtr
+virDomainCapsCPUModelsGet(virDomainCapsCPUModelsPtr cpuModels,
+                          const char *name)
+{
+    size_t i;
+
+    if (!cpuModels)
+        return NULL;
+
+    for (i = 0; i < cpuModels->nmodels; i++) {
+        if (STREQ(cpuModels->models[i].name, name))
+            return cpuModels->models + i;
+    }
+
+    return NULL;
+}
+
+
 int
 virDomainCapsEnumSet(virDomainCapsEnumPtr capsEnum,
                      const char *capsEnumName,
index 8c71dec21e1bc7f681323e461c2c2ddf01e162e3..07640ed67f00977f654b6faa50099097a4ea5ce0 100644 (file)
@@ -179,6 +179,10 @@ int virDomainCapsCPUModelsAdd(virDomainCapsCPUModelsPtr cpuModels,
                               ssize_t nameLen,
                               virDomainCapsCPUUsable usable,
                               char **blockers);
+virDomainCapsCPUModelPtr
+virDomainCapsCPUModelsGet(virDomainCapsCPUModelsPtr cpuModels,
+                          const char *name);
+
 
 # define VIR_DOMAIN_CAPS_ENUM_SET(capsEnum, ...)            \
     do {                                                    \
index f589666562b2eb5d6940a4eb3dc8b0839d5e9095..047e3b11129622e699c06d8e54e4268bc576fce3 100644 (file)
@@ -829,16 +829,10 @@ bool
 virCPUModelIsAllowed(const char *model,
                      virDomainCapsCPUModelsPtr models)
 {
-    size_t i;
-
     if (!models)
         return true;
 
-    for (i = 0; i < models->nmodels; i++) {
-        if (STREQ(models->models[i].name, model))
-            return true;
-    }
-    return false;
+    return !!virDomainCapsCPUModelsGet(models, model);
 }
 
 
index 26c5ddb405053b6095900d77731e9aa7336e03a2..4c56f17e295b2c9d0ba2c410301c92ac171a4789 100644 (file)
@@ -174,6 +174,7 @@ virDomainCapsCPUModelsAdd;
 virDomainCapsCPUModelsAddSteal;
 virDomainCapsCPUModelsCopy;
 virDomainCapsCPUModelsFilter;
+virDomainCapsCPUModelsGet;
 virDomainCapsCPUModelsNew;
 virDomainCapsCPUUsableTypeFromString;
 virDomainCapsCPUUsableTypeToString;