[libvirt] [PATCH] Fix legacy xen driver when building without modules
Jim Fehlig
jfehlig at suse.com
Thu Aug 30 18:57:47 UTC 2012
Daniel P. Berrange wrote:
> On Wed, Aug 29, 2012 at 03:59:17PM -0600, Jim Fehlig wrote:
>
>> Jim Fehlig wrote:
>>
>>> When building without driver modules, I've noticed that the legacy xen
>>> driver no longer works. The attached patch fixes it, but I'm not sure
>>> if this is the correct fix.
>>>
>> Sorry, I should have elaborated here. I don't think this is the correct
>> fix because now libvirt.so has a dependency on xen libs, e.g.
>> libxenstore, which (I think) defeats the purpose of modularizing the build.
>>
>>
>>> I need to do some more testing with and
>>> without modules, but wanted to raise this on the list for
>>> comments/suggestions.
>>>
>>>
>> When building libvirt without driver modules, I'm not able to connect to
>> the legacy xen driver
>>
>> # virsh version
>> Compiled against library: libvirt 0.10.0
>> Using library: libvirt 0.10.0
>> Using API: QEMU 0.10.0
>> error: failed to get the hypervisor version
>> error: internal error Cannot find suitable emulator for x86_64
>>
>> # virsh -c xen:/// version
>> error: internal error libxenlight state driver is not active
>> error: failed to connect to the hypervisor
>>
>> Which is correct, since the libxl driver won't load if xend is active.
>> But why is the legacy xen driver not tried? I can connect to the libxl
>> one when xend is not active
>>
>> # virsh version
>> Compiled against library: libvirt 0.10.0
>> Using library: libvirt 0.10.0
>> Using API: xenlight 0.10.0
>> Running hypervisor: xenlight 4.1.0
>>
>> When building with driver modules and trying to connect to the legacy
>> xen driver
>>
>> # virsh version
>> Compiled against library: libvirt 0.10.0
>> Using library: libvirt 0.10.0
>> Using API: QEMU 0.10.0
>> error: failed to get the hypervisor version
>> error: internal error Cannot find suitable emulator for x86_64
>>
>
> Ok, it used QEMU there, so lets ignore that.
>
>
>> # virsh -c xen:/// version
>> Compiled against library: libvirt 0.10.0
>> Using library: libvirt 0.10.0
>> Using API: Xen 0.10.0
>> Running hypervisor: Xen 4.1.0
>>
>> So this is a change in behavior, where the connection must now be
>> explicitly specified. Same goes for connecting to the libxl driver when
>> built with driver modules
>>
>
>
>> Suggestions on how to go about fixing all of this would be much
>> appreciated :).
>>
>
> You'll want to set LIBVIRT_LOG_FILTERS="1:libvirt 1:xen 1:libxl" for
> libvirtd and see what it logs about the connection probing when opening
> the driver
>
Blah, I shouldn't have been so lazy and done more investigation before
posting this.
I've sent a proper patch to fix these issues
https://www.redhat.com/archives/libvir-list/2012-August/msg01950.html
Thanks!
Jim
More information about the libvir-list
mailing list