[Libvir] [PATCH] virsh Range check in Credit Scheduler

Daniel P. Berrange berrange at redhat.com
Fri Jul 27 15:53:35 UTC 2007


On Wed, Jul 18, 2007 at 10:40:06PM +0900, Atsushi SAKAI wrote:
> Hi, Daniel
> 
> ?$B!!I checked it and it works fine!
> 
> 2 point of question (not related to this point)
> 
> 1)I sometimes rewiriting xen_internal.c in my test environment.
> from 
> xen/linux/privcmd.h
> to
> xen/sys/privcmd.h
> Is there any possibility to change the path?
> 
> 2)xen-unstable 15482 changes sysctl version(from 3 to 4).
> Is there any possibility libvirt to work new sysctl version?
> At this moment, libvirt cannot not handle latest xen-unstable.

Looks like a pretty trivial thing to fix

@@ -85,6 +86,23 @@ struct xen_sysctl_physinfo {
     uint64_aligned_t free_pages;
     uint64_aligned_t scrub_pages;
     uint32_t hw_cap[8];
+
+    /* IN/OUT variables. */
+    /*
+     * IN: maximum addressable entry in the caller-provided cpu_to_node array.
+     * OUT: largest cpu identifier in the system.
+     * If OUT is greater than IN then the cpu_to_node array is truncated!
+     */
+    uint32_t max_cpu_id;
+    /*
+     * If not NULL, this array is filled with node identifier for each cpu.
+     * If a cpu has no node information (e.g., cpu not present) then the
+     * sentinel value ~0u is written.
+     * The size of this array is specified by the caller in @max_cpu_id.
+     * If the actual @max_cpu_id is smaller than the array then the trailing
+     * elements of the array will not be written by the sysctl.
+     */
+    XEN_GUEST_HANDLE_64(uint32_t) cpu_to_node;
 };

So the struct basically grew 12 bytes larger.  I guess libvirt is broken
because we're not passing in a big enough memory block. 


Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the libvir-list mailing list