[Libvir] Problem with hypercall

Daniel Veillard veillard at redhat.com
Thu Sep 28 21:22:08 UTC 2006


On Thu, Sep 28, 2006 at 09:43:19PM +0100, Daniel P. Berrange wrote:
> On Thu, Sep 28, 2006 at 07:20:35PM +0100, Daniel P. Berrange wrote:
> > On Tue, Sep 19, 2006 at 12:12:19PM -0400, Daniel Veillard wrote:
> > > On Wed, Sep 13, 2006 at 09:13:35PM -0400, Daniel Veillard wrote:
> > > > On Wed, Sep 13, 2006 at 12:55:01PM -0600, Jim Fehlig wrote:
> > > > > I found that the buffer provided for XEN_V1_OP_GETDOMAININFOLIST 
> > > > > hypercall differs slightly from the buffer in xen/dom0_ops.h.
> > > > 
> > > >   ohh, that's quite possible I made a mistake in rebuilding the code, yes
> > > > 
> > > > > Attached is a patch against current cvs that works for me, but I'm not 
> > > > > familiar with this part of the code so not sure if this is the proper fix.
> > > > 
> > > >   I will try to double check today or tomorrow as I'm on the road,
> > > > thanks a lot for the patch.
> > > 
> > >   Okay, I'm finally back, confirmed my error (sorry I should have tried a
> > > 32bit box too but had none handy with the old code). So applied and commited,
> > 
> > Urm, but this has now broken things on 32-bit  3.0.3 based Xen HV.
> > 
> > # virsh dominfo Domain-0 | grep CPU
> > CPU(s):         115
> > 
> > And also
> > 
> > #  virsh vcpuinfo Domain-0 
> > libvir: Xen error : failed Xen syscall  ioctl  3166208
> > 
> > Looks like we need different versions of this struct depending on which
> > Xen we're working against.
> 
> This is really quite a nasty problem, because the struct is passed into from
> numerous locations in the xen_internal.h code & I didn't want to cover the
> entire source with conditionals.
> 
> So what I've done is declared a new xen_v2_domaininfo struct which is
> the same as xen_v0_domaininfo, but with Jim's patch reverted again.
> Then provide two unions

  Okay, I really expected they didn't broke that data structure too,
sigh ... Yeah go ahead that seems the less uglier possible !
I wonder why I didn't catch that, maybe my 3.0.3 test was done on an x86_64,

  thanks !

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list