It will be used in that file later on, plus it makes sense for all the
implementations to be in same place. Also comment each one of them nicely and
add a comment explaining why they all need to end with the same _LAST value.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/conf/capabilities.c | 6 ------
src/libvirt_private.syms | 2 ++
src/util/virresctrl.c | 19 ++++++++++++++-----
src/util/virresctrl.h | 1 +
4 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index 978edf871943..7a810efa6662 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -1544,12 +1544,6 @@ virCapabilitiesInitPages(virCapsPtr caps)
return ret;
}
-/* Cache name mapping for Linux kernel naming */
-VIR_ENUM_DECL(virCacheKernel);
-VIR_ENUM_IMPL(virCacheKernel, VIR_CACHE_TYPE_LAST,
- "Unified",
- "Instruction",
- "Data")
bool
virCapsHostCacheBankEquals(virCapsHostCacheBankPtr a,
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 20ec8760ec27..a4a0c95b474d 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2619,6 +2619,8 @@ virRandomInt;
# util/virresctrl.h
+virCacheKernelTypeFromString;
+virCacheKernelTypeToString;
virCacheTypeFromString;
virCacheTypeToString;
virResctrlAllocAddPID;
diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
index 4e35b19649ca..481577bbb9f6 100644
--- a/src/util/virresctrl.c
+++ b/src/util/virresctrl.c
@@ -48,15 +48,24 @@ VIR_LOG_INIT("util.virresctrl")
#define SYSFS_RESCTRL_PATH "/sys/fs/resctrl"
-/* Our naming for cache types and scopes */
+/* Following are three different enum implementations for the same enum. Each
+ * one of them helps translating to/from strings for different interfaces. The
+ * delimiter must be VIR_CACHE_TYPE_LAST for all of them in order to stay
+ * consistent in between all of them. */
+
+/* Cache name mapping for Linux kernel naming. */
+VIR_ENUM_IMPL(virCacheKernel, VIR_CACHE_TYPE_LAST,
+ "Unified",
+ "Instruction",
+ "Data")
+
+/* Cache name mapping for our XML naming. */
VIR_ENUM_IMPL(virCache, VIR_CACHE_TYPE_LAST,
"both",
"code",
"data")
-/*
- * This is the same enum, but for the resctrl naming
- * of the type (L<level><type>)
- */
+
+/* Cache name mapping for resctrl interface naming. */
VIR_ENUM_DECL(virResctrl)
VIR_ENUM_IMPL(virResctrl, VIR_CACHE_TYPE_LAST,
"",
diff --git a/src/util/virresctrl.h b/src/util/virresctrl.h
index a348fa7ab195..9052a2b19a02 100644
--- a/src/util/virresctrl.h
+++ b/src/util/virresctrl.h
@@ -34,6 +34,7 @@ typedef enum {
} virCacheType;
VIR_ENUM_DECL(virCache);
+VIR_ENUM_DECL(virCacheKernel);
typedef struct _virResctrlInfoPerCache virResctrlInfoPerCache;
--
2.17.1