
On Thu, Jun 28, 2007 at 10:04:51AM +0100, Richard W.M. Jones wrote:
Philippe Berthault wrote:
The documentation of libvirt doesn't indicate which functions are for Xen or QEMU or both. The only way to know that, is by searching in libvirt sources.
It would be interesting for libvirt users to add in the documentation, for each function, a mention such as "QEMU only", "Xen(TM) only", "QEMU and Xen(TM)", etc..
Thanks for looking into this.
Regards.
Libvirt 0.2.3 functions dedicated to QEMU only: virConnectListDefinedNetworks virConnectListNetworks virConnectNumOfDefinedNetworks virConnectNumOfNetworks
The above should work on Xen too ...
virNetworkCreate virNetworkCreateXML virNetworkDefineXML virNetworkDestroy virNetworkFree virNetworkGetAutostart virNetworkGetBridgeName virNetworkGetName virNetworkGetUUID virNetworkGetUUIDString virNetworkGetXMLDesc virNetworkLookupByName virNetworkLookupByUUID virNetworkLookupByUUIDString virNetworkSetAutostart virNetworkUndefine
The network functions currently use the QEMU server. That's a strange historical artifact that should be removed (or perhaps has been by Dan's patches - I have yet to check them in detail).
Yes, all of the above are implemented in the qemu_driver.c file, however, the way the drivers are actived means, that they get enabled for use by Xen too. The key is that 'libvirtd' needs to be running.
Libvirt 0.2.3 functions dedicated to Xen(TM) only: virConnectGetMaxVcpus virConnectGetType
Should both work for QEMU too now.
virDomainAttachDevice virDomainDetachDevice
If QEMU/KVM gets suport for paravirt drivers we can implenent this, but not at this time.
virDomainCoreDump
Should implenent for QEMU, though not quite sure how yet
virDomainGetMaxMemory
Should implement for QEMU
virDomainGetSchedulerParameters virDomainGetSchedulerType virDomainPinVcpu
Can definitely implement these for QEMU
virDomainReboot
Can't implement this until KVM/QEMU gets ACPI S5 support
virDomainSetMaxMemory virDomainSetMemory
Can only implement these for inactive domains, until KVM/QEMU has a memory balloon driver.
virDomainSetSchedulerParameters
Can implement this.
virDomainSetVcpus
Can only implement this for inactive domains So we can & should implement most of these for QEMU.... It would still be useful to have a chart describing what APIs are implemented by which driver though & any restrictions the impl may have. 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 -=|