]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
cpuGetModels: Switch to virArch
authorJiri Denemark <jdenemar@redhat.com>
Fri, 29 Apr 2016 08:38:03 +0000 (10:38 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 22 Sep 2016 13:40:08 +0000 (15:40 +0200)
Our internal APIs mostly use virArch rather than strings. Switching
cpuGetModels to virArch will save us from unnecessary conversions in the
future.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/cpu/cpu.c
src/cpu/cpu.h
src/driver-hypervisor.h
src/qemu/qemu_driver.c
src/test/test_driver.c

index 11a68f0cfb1ac70d98573022fa790fdd5276d95b..19afeab7b9b922211f2903aecc08f45c8c7e131b 100644 (file)
@@ -747,7 +747,7 @@ cpuModelIsAllowed(const char *model,
 /**
  * cpuGetModels:
  *
- * @archName: CPU architecture string
+ * @arch: CPU architecture
  * @models: where to store the NULL-terminated list of supported models
  *
  * Fetches all CPU models supported by libvirt on @archName.
@@ -755,26 +755,17 @@ cpuModelIsAllowed(const char *model,
  * Returns number of supported CPU models or -1 on error.
  */
 int
-cpuGetModels(const char *archName, char ***models)
+cpuGetModels(virArch arch, char ***models)
 {
     struct cpuArchDriver *driver;
-    virArch arch;
-
-    VIR_DEBUG("arch=%s", archName);
 
-    arch = virArchFromString(archName);
-    if (arch == VIR_ARCH_NONE) {
-        virReportError(VIR_ERR_INVALID_ARG,
-                       _("cannot find architecture %s"),
-                       archName);
-        return -1;
-    }
+    VIR_DEBUG("arch=%s", virArchToString(arch));
 
     driver = cpuGetSubDriver(arch);
     if (driver == NULL) {
         virReportError(VIR_ERR_INVALID_ARG,
                        _("cannot find a driver for the architecture %s"),
-                       archName);
+                       virArchToString(arch));
         return -1;
     }
 
index f1d5276097f4a8c4e004d548b861ea87e64e4497..422818ec49e696569d118907028aab79f68c9111 100644 (file)
@@ -199,8 +199,7 @@ cpuModelIsAllowed(const char *model,
     ATTRIBUTE_NONNULL(1);
 
 int
-cpuGetModels(const char *arch, char ***models)
-    ATTRIBUTE_NONNULL(1);
+cpuGetModels(virArch arch, char ***models);
 
 /* cpuDataFormat and cpuDataParse are implemented for unit tests only and
  * have no real-life usage
index 5cd1fdf4f339cef9c51e15061eb6f7db00c478e0..51af73200bf074d25f5a5eaead8583a4ca559499 100644 (file)
@@ -678,7 +678,7 @@ typedef char *
 
 typedef int
 (*virDrvConnectGetCPUModelNames)(virConnectPtr conn,
-                                 const char *args,
+                                 const char *archName,
                                  char ***models,
                                  unsigned int flags);
 
index 71eb062fbe80c87f9e2c7b95ae7ba972404bdf84..5575b0a6225218cd4c1cd92d16a7909b719c6cdf 100644 (file)
@@ -18369,14 +18369,23 @@ qemuNodeSuspendForDuration(virConnectPtr conn,
 
 static int
 qemuConnectGetCPUModelNames(virConnectPtr conn,
-                            const char *arch,
+                            const char *archName,
                             char ***models,
                             unsigned int flags)
 {
+    virArch arch;
+
     virCheckFlags(0, -1);
     if (virConnectGetCPUModelNamesEnsureACL(conn) < 0)
         return -1;
 
+    if (!(arch = virArchFromString(archName))) {
+        virReportError(VIR_ERR_INVALID_ARG,
+                       _("cannot find architecture %s"),
+                       archName);
+        return -1;
+    }
+
     return cpuGetModels(arch, models);
 }
 
index 87799e176b45abff3a29d93c6b7134e0905037f5..7ef3d2f8cd2f85b970be207397332bc49b195ea7 100644 (file)
@@ -5893,11 +5893,21 @@ testDomainScreenshot(virDomainPtr dom ATTRIBUTE_UNUSED,
 
 static int
 testConnectGetCPUModelNames(virConnectPtr conn ATTRIBUTE_UNUSED,
-                            const char *arch,
+                            const char *archName,
                             char ***models,
                             unsigned int flags)
 {
+    virArch arch;
+
     virCheckFlags(0, -1);
+
+    if (!(arch = virArchFromString(archName))) {
+        virReportError(VIR_ERR_INVALID_ARG,
+                       _("cannot find architecture %s"),
+                       archName);
+        return -1;
+    }
+
     return cpuGetModels(arch, models);
 }