On Mon, Jul 30, 2007 at 11:52:16AM +0900, Atsushi SAKAI wrote:
Hi, Dan
Thank you for your suggestion.
My concern is if patch for sysctl v4 is applied or not.
Since previously Daniel commented, libvirt does not include the patch for
Xen-unstable only includes for versioned like Xen-3.x.
Well, since they correctly changed the interface version, I think this is
okay to track that change. I just don't want to try to track every possible
interface change they would not label as such. That change has been commited
on their side for a while now, so I guess it's there for good too, plus
as Dan pointed out the change could be rather minimal, so let's do it.
Daniel
"Daniel P. Berrange" <berrange(a)redhat.com> wrote:
> 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 -=|
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/