remove parameter nr_pcpus of Libvirt.Domain.get_cpu_stats
authorHu Tao <hutao@cn.fujitsu.com>
Wed, 9 May 2012 08:48:30 +0000 (16:48 +0800)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 12 Oct 2012 10:13:22 +0000 (11:13 +0100)
remove the value because we can get it from the libvirt API

examples/.depend
examples/get_cpu_stats.ml
libvirt/.depend
libvirt/libvirt.ml
libvirt/libvirt.mli
libvirt/libvirt_c_oneoffs.c

index 831adf6..f58db3d 100644 (file)
@@ -1,6 +1,6 @@
-node_info.cmo: ../libvirt/libvirt.cmi
-node_info.cmx: ../libvirt/libvirt.cmx
 get_cpu_stats.cmo: ../libvirt/libvirt.cmi
 get_cpu_stats.cmx: ../libvirt/libvirt.cmx
 list_domains.cmo: ../libvirt/libvirt.cmi
 list_domains.cmx: ../libvirt/libvirt.cmx
+node_info.cmo: ../libvirt/libvirt.cmi
+node_info.cmx: ../libvirt/libvirt.cmx
index 79d5c3c..d7a8d0c 100644 (file)
@@ -25,7 +25,7 @@ let () =
 
     let stats =
       let dom = D.lookup_by_name conn domname in
-      D.get_cpu_stats dom nr_pcpus in
+      D.get_cpu_stats dom in
 
     Array.iteri (
       fun n params ->
index 43a2367..3f2297e 100644 (file)
@@ -1,6 +1,6 @@
-libvirt_version.cmi:
 libvirt.cmi:
-libvirt_version.cmo: libvirt_version.cmi
-libvirt_version.cmx: libvirt_version.cmi
+libvirt_version.cmi:
 libvirt.cmo: libvirt.cmi
 libvirt.cmx: libvirt.cmi
+libvirt_version.cmo: libvirt_version.cmi
+libvirt_version.cmx: libvirt_version.cmi
index 53c5bb4..07542a9 100644 (file)
@@ -417,7 +417,7 @@ struct
   external set_vcpus : [>`W] t -> int -> unit = "ocaml_libvirt_domain_set_vcpus"
   external pin_vcpu : [>`W] t -> int -> string -> unit = "ocaml_libvirt_domain_pin_vcpu"
   external get_vcpus : [>`R] t -> int -> int -> int * vcpu_info array * string = "ocaml_libvirt_domain_get_vcpus"
-  external get_cpu_stats : [>`R] t -> int -> typed_param list array = "ocaml_libvirt_domain_get_cpu_stats"
+  external get_cpu_stats : [>`R] t -> typed_param list array = "ocaml_libvirt_domain_get_cpu_stats"
   external get_max_vcpus : [>`R] t -> int = "ocaml_libvirt_domain_get_max_vcpus"
   external attach_device : [>`W] t -> xml -> unit = "ocaml_libvirt_domain_attach_device"
   external detach_device : [>`W] t -> xml -> unit = "ocaml_libvirt_domain_detach_device"
index 0913a63..5a288c0 100644 (file)
@@ -559,8 +559,8 @@ sig
        for a domain.  See the libvirt documentation for details
        of the array and bitmap returned from this function.
     *)
-  val get_cpu_stats : [>`R] t -> int -> typed_param list array
-    (** [get_pcpu_stats dom nr_pcpu] returns the physical CPU stats
+  val get_cpu_stats : [>`R] t -> typed_param list array
+    (** [get_pcpu_stats dom] returns the physical CPU stats
        for a domain.  See the libvirt documentation for details.
     *)
   val get_max_vcpus : [>`R] t -> int
index 3d42b73..70cf96f 100644 (file)
@@ -532,17 +532,21 @@ extern int virDomainGetCPUStats (virDomainPtr domain,
 #endif
 
 CAMLprim value
-ocaml_libvirt_domain_get_cpu_stats (value domv, value nr_pcpusv)
+ocaml_libvirt_domain_get_cpu_stats (value domv)
 {
 #ifdef HAVE_VIRDOMAINGETCPUSTATS
-  CAMLparam2 (domv, nr_pcpusv);
+  CAMLparam1 (domv);
   CAMLlocal5 (cpustats, param_head, param_node, typed_param, typed_param_value);
   CAMLlocal1 (v);
   virDomainPtr dom = Domain_val (domv);
   virConnectPtr conn = Connect_domv (domv);
-  int nr_pcpus = Int_val (nr_pcpusv);
   virTypedParameterPtr params;
   int r, cpu, ncpus, nparams, i, j, pos;
+  int nr_pcpus;
+
+  /* get number of pcpus */
+  NONBLOCKING (nr_pcpus = virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0));
+  CHECK_ERROR (nr_pcpus < 0, conn, "virDomainGetCPUStats");
 
   /* get percpu information */
   NONBLOCKING (nparams = virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0));