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

Taowei uaedante at gmail.com
Mon Aug 11 10:06:03 UTC 2014


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

-- 
1.7.9.5




More information about the libvir-list mailing list