[libvirt] [PATCH 00/66] vbox: Rewrite vbox domain driver

Yohan Belleguic yohan.belleguic at diateam.net
Thu Aug 14 15:50:18 UTC 2014


Le Wednesday 13 August 2014 17:18:44, Michal Privoznik a écrit :
> [CC-ing Yohan BELLEGUIC and Manuel VIVES]
> 
> On 12.08.2014 17:31, Michal Privoznik wrote:
> > On 11.08.2014 12:06, Taowei wrote:
> >> This series of patches rewrite the vbox's domain
> >> driver. The driver is separated into two parts: the version
> >> specified and the common part. The common driver use
> >> vboxUniformedAPI to build a general driver for all vbox
> >> versions. The vboxUniformedAPI take the responsiblity to
> >> communicate with virtualbox. Since there are some incompatible
> >> changes in virtualbox, vboxUniformedAPI should be aware of
> >> these changes and provide a uniformed api for the upper layer.
> >> 
> >> The significant result of this patch is that we replace all
> >> vir${vbox_version}Driver into one virCommonDriver. So, we will
> >> have only one vbox driver implementation for all vbox versions
> >> in libvirt.
> >> 
> >> PS: I have send part of my patches before:
> >> https://www.redhat.com/archives/libvir-list/2014-July/msg00937.html
> >> But I have to resend it beacuse I did some improvement on previous
> >> patches:
> >> *Remove the test case for vboxUniformedAPI, because it would raise
> >> 
> >>   "break strict-aliasing rules" warning in some distibutions
> >> 
> >> *Merged the flag fdWatchNeedInitialize into domainEventCallbacks,
> >> 
> >>   So, we use one flag to indicate whether vbox support callbacks
> >>   as well as we need to initialize variables for it.
> >> 
> >> Taowei (66):
> >>    vbox: Begin to rewrite, vboxConnectOpen
> >>    vbox: Rewrite vboxConnectClose
> >>    vbox: Rewrite vboxDomainSave
> >>    vbox: Rewrite vboxConnectGetVersion
> >>    vbox: Rewrite vboxConnectGetHostname
> >>    vbox: Rewrite vboxConnectIsSecure
> >>    vbox: Rewrite vboxConnectIsEncrypted
> >>    vbox: Rewrite vboxConnectIsAlive
> >>    vbox: Rewrite vboxConnectGetMaxVcpus
> >>    vbox: Rewrite vboxConnectGetCapabilities
> >>    vbox: Rewrite vboxConnectListDomains
> >>    vbox: Rewrite vboxConnectNumOfDomains
> >>    vbox: Rewrite vboxDomainLookupById
> >>    vbox: Rewrite vboxDomainLookupByUUID
> >>    vbox: Rewrite vboxDomainUndefineFlags
> >>    vbox: Rewrite vboxDomainDefineXML
> >>    vbox: Rewrite vboxDomainCreateWithFlags
> >>    vbox: Rewrite vboxDomainCreate
> >>    vbox: Rewrite vboxDomainCreateXML
> >>    vbox: Rewrite vboxDomainLookupByName
> >>    vbox: Rewrite vboxDomainIsActive
> >>    vbox: Rewrite vboxDomainIsPersistent
> >>    vbox: Rewrite vboxDomainIsUpdated
> >>    vbox: Rewrite vboxDomainSuspend
> >>    vbox: Rewrite vboxDomainResume
> >>    vbox: Rewrite vboxDomainShutdownFlags
> >>    vbox: Rewrite vboxDomainShutdown
> >>    vbox: Rewrite vboxDomainReboot
> >>    vbox: Rewrite vboxDomainDestroyFlags
> >>    vbox: Rewrite vboxDomainDestroy
> >>    vbox: Rewrite vboxDomainGetOSType
> >>    vbox: Rewrite vboxDomainSetMemory
> >>    vbox: Rewrite vboxDomainGetInfo
> >>    vbox: Rewrite vboxDomainGetState
> >>    vbox: Rewrite vboxDomainSetVcpusFlags
> >>    vbox: Rewrite vboxDomainSetVcpus
> >>    vbox: Rewrite vboxDomainGetVcpusFlags
> >>    vbox: Rewrite vboxDomainGetMaxVcpus
> >>    vbox: Add API for vboxDomainGetXMLDesc
> >>    vbox: Rewrite vboxDomainGetXMLDesc
> >>    vbox: Rewrite vboxConnectListDefinedDomains
> >>    vbox: Rewrite vboxConnectNumOfDefinedDomains
> >>    vbox: Rewrite vboxDomainUndefine
> >>    vbox: Rewrite vboxDomainAttachDevice
> >>    vbox: Rewrite vboxDomainAttachDeviceFlags
> >>    vbox: Rewrite vboxDomainUpdateDeviceFlags
> >>    vbox: Rewrite vboxDomainDetachDevice
> >>    vbox: Rewrite vboxDomainDetachDeviceFlags
> >>    vbox: Add API for vboxDomainSnapshotCreateXML
> >>    vbox: Rewrite vboxDomainSnapshotCreateXML
> >>    vbox: Rewrite vboxDomainSnapshotGetXMLDesc
> >>    vbox: Rewrite vboxDomainSnapshotNum
> >>    vbox: Rewrite vboxDomainSnapshotListNames
> >>    vbox: Rewrite vboxSnapshotLookupByName
> >>    vbox: Rewrite vboxDomainHasCurrentSnapshot
> >>    vbox: Rewrite vboxDomainSnapshotGetParent
> >>    vbox: Rewrite vboxDomainSnapshotCurrent
> >>    vbox: Rewrite vboxDomainSnapshotIsCurrent
> >>    vbox: Rewrite vboxDomainSnapshotHasMetadata
> >>    vbox: Rewrite vboxDomainRevertToSnapshot
> >>    vbox: Rewrite vboxDomainSnapshotDelete
> >>    vbox: Rewrite vboxDomainScreenshot
> >>    vbox: Rewrite vboxConnectListAllDomains
> >>    vbox: Rewrite vboxNode functions
> >>    vbox: Add registerDomainEvent
> >>    vbox: Introducing vboxCommonDriver
> >>   
> >>   po/POTFILES.in                |    1 +
> >>   src/Makefile.am               |    5 +-
> >>   src/vbox/README               |    7 +-
> >>   src/vbox/vbox_common.c        | 7550 +++++++++++++++++++++
> >>   src/vbox/vbox_common.h        |  306 +
> >>   src/vbox/vbox_driver.c        |   40 +-
> >>   src/vbox/vbox_install_api.h   |   26 +
> >>   src/vbox/vbox_tmpl.c          |14557
> >> 
> >> +++++++++++++----------------------------
> >> 
> >>   src/vbox/vbox_uniformed_api.h |  551 ++
> >>   9 files changed, 13186 insertions(+), 9857 deletions(-)
> >>   create mode 100644 src/vbox/vbox_common.c
> >>   create mode 100644 src/vbox/vbox_common.h
> >>   create mode 100644 src/vbox/vbox_install_api.h
> >>   create mode 100644 src/vbox/vbox_uniformed_api.h
> > 
> > ACK to all the patches. I've fixed all the small nits I found. I'm
> > keeping the patches on my private branch for some time to give others
> > time to share their opinions. Nevertheless, incredible work in making
> > the vbox driver look more sane what you've done!
> 
> Yohan and Manuel,
> 
> can you guys please give this patchset a test? You seem to be interested
> in our virtual box driver (esp. snapshots) and we won't be happy if we
> break something by merging the patches. I haven't spotted anything wrong
> in the patches, so I gave my ACK but I'll postpone the push for a while
> to give you chance to try them out.
> 
> Michal
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

Hello,

Everything seems good to me, I didn't see any apparent problem.
We will not update immediately libvirt, so we won't be able to thoroughly test 
the vbox driver.


Regards
-- 
Yohan BELLEGUIC
Software Engineer - diateam : Architectes de l'information
Phone : +33 (0)2 98 050 050 Fax : +33 (0)2 98 050 05




More information about the libvir-list mailing list