]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: De-duplicate scheduling policy enums
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 2 Mar 2015 16:14:39 +0000 (17:14 +0100)
committerCole Robinson <crobinso@redhat.com>
Tue, 28 Apr 2015 15:06:37 +0000 (11:06 -0400)
Since adding the support for scheduler policy settings in commit
8680ea97, there are two enums with the same information.  That was
caused by rewriting the patch since first draft.

Find out thanks to clang, but there was no impact whatsoever.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
(cherry picked from commit 2fd5880b3b00cb6549242c613c5215617f29c428)

src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_process.c

index 32809c0600b15aed3b31cc1b123899895ac60b14..4ff26d5e04ba14429db3805fcbe258ddc503d3d8 100644 (file)
@@ -772,13 +772,6 @@ VIR_ENUM_IMPL(virDomainLoader,
               "rom",
               "pflash")
 
-VIR_ENUM_IMPL(virDomainThreadSched, VIR_DOMAIN_THREAD_SCHED_LAST,
-              "other", /* default */
-              "batch",
-              "idle",
-              "fifo",
-              "rr")
-
 /* Internal mapping: subset of block job types that can be present in
  * <mirror> XML (remaining types are not two-phase). */
 VIR_ENUM_DECL(virDomainBlockJob)
@@ -12867,7 +12860,7 @@ virDomainThreadSchedParse(xmlNodePtr node,
                           virDomainThreadSchedParamPtr sp)
 {
     char *tmp = NULL;
-    int sched = 0;
+    int pol = 0;
 
     tmp = virXMLPropString(node, name);
     if (!tmp) {
@@ -12892,16 +12885,17 @@ virDomainThreadSchedParse(xmlNodePtr node,
 
     tmp = virXMLPropString(node, "scheduler");
     if (tmp) {
-        if ((sched = virDomainThreadSchedTypeFromString(tmp)) <= 0) {
+        if ((pol = virProcessSchedPolicyTypeFromString(tmp)) <= 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Invalid scheduler attribute: '%s'"),
                            tmp);
             goto error;
         }
-        sp->scheduler = sched;
+        sp->policy = pol;
 
         VIR_FREE(tmp);
-        if (sp->scheduler >= VIR_DOMAIN_THREAD_SCHED_FIFO) {
+        if (sp->policy == VIR_PROC_POLICY_FIFO ||
+            sp->policy == VIR_PROC_POLICY_RR) {
             tmp = virXMLPropString(node, "priority");
             if (!tmp) {
                 virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -19892,7 +19886,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
         if (!(ids = virBitmapFormat(sp->ids)))
             goto error;
         virBufferAsprintf(buf, "<vcpusched vcpus='%s' scheduler='%s'",
-                          ids, virDomainThreadSchedTypeToString(sp->scheduler));
+                          ids, virProcessSchedPolicyTypeToString(sp->policy));
         VIR_FREE(ids);
 
         if (sp->priority)
@@ -19907,7 +19901,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
         if (!(ids = virBitmapFormat(sp->ids)))
             goto error;
         virBufferAsprintf(buf, "<iothreadsched iothreads='%s' scheduler='%s'",
-                          ids, virDomainThreadSchedTypeToString(sp->scheduler));
+                          ids, virProcessSchedPolicyTypeToString(sp->policy));
         VIR_FREE(ids);
 
         if (sp->priority)
index b6c0a52d324876cdf7bbb6a04dd5b129e4d15697..bca1b94f4cda85284953320f56a61a002b2d192a 100644 (file)
@@ -50,6 +50,7 @@
 # include "virbitmap.h"
 # include "virstoragefile.h"
 # include "virseclabel.h"
+# include "virprocess.h"
 
 /* forward declarations of all device types, required by
  * virDomainDeviceDef
@@ -1813,21 +1814,11 @@ typedef enum {
     VIR_DOMAIN_CPU_PLACEMENT_MODE_LAST
 } virDomainCpuPlacementMode;
 
-typedef enum {
-    VIR_DOMAIN_THREAD_SCHED_OTHER = 0,
-    VIR_DOMAIN_THREAD_SCHED_BATCH,
-    VIR_DOMAIN_THREAD_SCHED_IDLE,
-    VIR_DOMAIN_THREAD_SCHED_FIFO,
-    VIR_DOMAIN_THREAD_SCHED_RR,
-
-    VIR_DOMAIN_THREAD_SCHED_LAST
-} virDomainThreadSched;
-
 typedef struct _virDomainThreadSchedParam virDomainThreadSchedParam;
 typedef virDomainThreadSchedParam *virDomainThreadSchedParamPtr;
 struct _virDomainThreadSchedParam {
     virBitmapPtr ids;
-    virDomainThreadSched scheduler;
+    virProcessSchedPolicy policy;
     int priority;
 };
 
@@ -2885,7 +2876,6 @@ VIR_ENUM_DECL(virDomainRNGModel)
 VIR_ENUM_DECL(virDomainRNGBackend)
 VIR_ENUM_DECL(virDomainTPMModel)
 VIR_ENUM_DECL(virDomainTPMBackend)
-VIR_ENUM_DECL(virDomainThreadSched)
 /* from libvirt.h */
 VIR_ENUM_DECL(virDomainState)
 VIR_ENUM_DECL(virDomainNostateReason)
index 6674c679dcfaac62e1644ec2b079772d19668e63..933891fb8004ef436012943af9c070f3006d8c2e 100644 (file)
@@ -415,8 +415,6 @@ virDomainStateTypeFromString;
 virDomainStateTypeToString;
 virDomainTaintTypeFromString;
 virDomainTaintTypeToString;
-virDomainThreadSchedTypeFromString;
-virDomainThreadSchedTypeToString;
 virDomainTimerModeTypeFromString;
 virDomainTimerModeTypeToString;
 virDomainTimerNameTypeFromString;
index 4beb0cf520f01dd8d86b76b3680251dd92f19c94..846eba99e2252b7d73081b1208229495c39d761a 100644 (file)
@@ -2614,7 +2614,7 @@ qemuProcessSetSchedParams(int id,
     if (!s)
         return 0;
 
-    return virProcessSetScheduler(pid, s->scheduler, s->priority);
+    return virProcessSetScheduler(pid, s->policy, s->priority);
 }
 
 static int