[RFC PATCH 2/5] add a global feature for supporting virHistogram

Amneesh Singh natto at weirdnatto.in
Thu Sep 22 02:19:00 UTC 2022


Signed-off-by: Amneesh Singh <natto at weirdnatto.in>
---
 src/ch/ch_driver.c                  | 1 +
 src/driver.c                        | 1 +
 src/esx/esx_driver.c                | 1 +
 src/libvirt_internal.h              | 5 +++++
 src/libxl/libxl_driver.c            | 1 +
 src/lxc/lxc_driver.c                | 1 +
 src/network/bridge_driver.c         | 1 +
 src/openvz/openvz_driver.c          | 1 +
 src/qemu/qemu_driver.c              | 1 +
 src/remote/remote_daemon_dispatch.c | 1 +
 src/test/test_driver.c              | 1 +
 src/vz/vz_driver.c                  | 1 +
 12 files changed, 16 insertions(+)

diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c
index db2a66d131..80afc4a870 100644
--- a/src/ch/ch_driver.c
+++ b/src/ch/ch_driver.c
@@ -927,6 +927,7 @@ chConnectSupportsFeature(virConnectPtr conn,
         case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
         case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
         case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+        case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
         case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
         case VIR_DRV_FEATURE_FD_PASSING:
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/driver.c b/src/driver.c
index cea74bdf95..99ff963d2e 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -357,6 +357,7 @@ virDriverFeatureIsGlobal(virDrvFeature feat,
      * At this point everything supports them and thus also drivers need to
      * always advertise this feature */
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     /* Feature flag exposes that the accidental switching of order of arguments
      * in the public API trampoline virNetworkUpdate is known. Updated clients
      * thus use the correct ordering with an updated server. All drivers must
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index 9dc5489411..b8bac39c5b 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -1028,6 +1028,7 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/libvirt_internal.h b/src/libvirt_internal.h
index 1ae3e2b2e0..b8b4525e6d 100644
--- a/src/libvirt_internal.h
+++ b/src/libvirt_internal.h
@@ -132,6 +132,11 @@ typedef enum {
      * Whether the virNetworkUpdate() API implementation passes arguments to
      * the driver's callback in correct order. */
     VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER = 16,
+
+    /*
+     * Support for VIR_TYPED_PARAM_HISTOGRAM
+     */
+    VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM = 17,
 } virDrvFeature;
 
 
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 1b8b40e9e0..f3d47c83a5 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5698,6 +5698,7 @@ libxlConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index d66c26221c..76cd612447 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1622,6 +1622,7 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 7c6430b4e3..fe5ee1f781 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -825,6 +825,7 @@ networkConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 5c18f5238b..2a7fbd3bde 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1914,6 +1914,7 @@ openvzConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 8370b8593b..52e1f88568 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1187,6 +1187,7 @@ qemuConnectSupportsFeature(virConnectPtr conn, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
     case VIR_DRV_FEATURE_FD_PASSING:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
index 7efe58b36b..a5837dce26 100644
--- a/src/remote/remote_daemon_dispatch.c
+++ b/src/remote/remote_daemon_dispatch.c
@@ -4969,6 +4969,7 @@ static int remoteDispatchConnectSupportsFeature(virNetServer *server G_GNUC_UNUS
     case VIR_DRV_FEATURE_MIGRATION_V3:
     case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_XML_MIGRATABLE:
     case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
     case VIR_DRV_FEATURE_MIGRATION_PARAMS:
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 686ff051a8..795c8e0798 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -1666,6 +1666,7 @@ testConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED,
 
     switch ((virDrvFeature) feature) {
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
         return 1;
     case VIR_DRV_FEATURE_MIGRATION_V2:
diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index 4f5e340d53..bcc4073520 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -3021,6 +3021,7 @@ vzConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED, int feature)
     case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
     case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
     case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+    case VIR_DRV_FEATURE_TYPED_PARAM_HISTOGRAM:
     case VIR_DRV_FEATURE_XML_MIGRATABLE:
     default:
         return 0;
-- 
2.37.1



More information about the libvir-list mailing list