[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