[libvirt-users] Some question about code of xenapi
Michal Privoznik
mprivozn at redhat.com
Mon Aug 1 06:52:30 UTC 2016
On 31.07.2016 15:46, netcas wrote:
> Hello, guys! I am doing some experiment to control XenServer with libvirt, when I define a domain, it always fails and gives the following message:
>
>
> error: Failed to define domain from /root/new.xml
> error: internal error: Couldn't get VM information from XML
>
>
> so I diving into the souce and found it always fails at network creating, and the code in libvirt-1.3.5\src\xenapi\xenapi_utils.c, line 437 is following:
>
>
> xen_vif_create(session, &vif, vif_record);
> if (!vif) {
> xen_vif_free(vif);
> xen_vif_record_free(vif_record);
> xen_network_record_free(net_rec);
> xen_network_set_free(net_set);
> return 0;
> }
> xen_vif_record_free(vif_record);
> xen_network_record_free(net_rec);
> ... ...
> return -1;
>
> should this if be if (vif) {...}, if the vif is null, why need to free it?
Frankly, I have no idea. It is very hard to get any documentation. The
only way I've found to check is to look into the sources. Now,
libxenserver package is not easy to get (you'd have to register at
citrix webpage), but I've found this clone:
https://github.com/sukinull/libxenserver/blob/master/src/xen_vif.c#L225
There, it looks to me like vif is always going to be NULL no matter what.
Unfortunately, I don't have a setup to try the driver out.
Michal
More information about the libvirt-users
mailing list