1. 03 11月, 2014 1 次提交
    • M
      vbox: don't register NULL driver · 55bbc342
      Martin Kletzander 提交于
      We were missing check for the fact that the storage driver was found and
      in case there is no vbox storage driver available, daemon raised the
      following error each start:
      
        error : virRegisterStorageDriver:592 : driver in
        virRegisterStorageDriver must not be NULL
      
      Fixing this makes the condition unified with networkDriver registration
      in vbox as well.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      55bbc342
  2. 29 10月, 2014 1 次提交
  3. 25 10月, 2014 1 次提交
  4. 23 10月, 2014 1 次提交
  5. 04 10月, 2014 1 次提交
  6. 03 10月, 2014 2 次提交
    • T
      vbox: New network driver · 87dea4fc
      Taowei 提交于
      This patch seperate the domain driver and the network driver.
      
      libvirt_driver_vbox_impl.la has been linked in the network driver.
      So that the version specified codes in vbox_V*.c would only be
      compiled once.
      
      The vboxGetNetworkDriver provides a simple interface to get vbox
      network driver.
      87dea4fc
    • T
      vbox: Interfaces for register per parties · fac5d061
      Taowei 提交于
      The patch dbb4cbf5 by Michal has splited the vbox driver into
      three parties. This modification brings a more suitable interface
      to the previous patch.
      
      The new function vboxGetDriver is introduced to get the
      corresponding vbox domain driver directly thought the vbox version.
      
      Functions like vboxGetNetworkDriver and vboxGetStorageDriver
      will be introduced after rewriting it's drivers.
      
      This patch, by the way, fixed the align problem for vbox in
      Makefile.am
      fac5d061
  7. 27 8月, 2014 1 次提交
    • M
      vbox: Register per partes · dbb4cbf5
      Michal Privoznik 提交于
      Since times when vbox moved to the daemon (due to some licensing
      issue) the subdrivers that vbox implements were registered, but not
      opened since our generic subdrivers took priority. I've tried to fix
      this in 65b7d553 but it was not correct. Apparently moving
      vbox driver registration upfront changes the default connection URI
      which makes some users sad. So, this commit breaks vbox into pieces
      and register vbox's network and storage drivers first, and vbox driver
      then at the end. This way, the vbox driver is registered in the order
      it always was, but its subdrivers are registered prior the generic
      ones.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      dbb4cbf5
  8. 21 8月, 2014 1 次提交
    • M
      hvsupport: Adapt to vbox driver rewrite · cf389258
      Michal Privoznik 提交于
      Since vbox driver rewrite the virDriver structure init moved from
      vbox_tmpl.c into vbox_common.c. However, our hvsupport.pl script
      doesn't count with that. It still parses vbox_tmp.c and looks for
      virDriver structure which is not found there anymore. As a result,
      at hvsupport page is seems like vbox driver doesn't support
      anything.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      cf389258
  9. 15 8月, 2014 2 次提交
    • T
      vbox: Introducing vboxCommonDriver · cdba7c90
      Taowei 提交于
      After this patch, we will have only one common domain driver.
      So, the rewritten on domain driver is finished in this patch.
      cdba7c90
    • T
      vbox: Begin to rewrite, vboxConnectOpen · 7f0f415b
      Taowei 提交于
      Introduce vbox_uniformed_api to deal with version conflicts. Use
      vbox_install_api to register the currect vboxUniformedAPI with
      vbox version.
      
      vboxConnectOpen has been rewritten.
      7f0f415b
  10. 21 3月, 2014 1 次提交
  11. 18 3月, 2014 1 次提交
  12. 23 1月, 2014 1 次提交
    • J
      vbox: add support for v4.2.20+ and v4.3.4+ · bb85da2c
      Jean-Baptiste Rouault 提交于
      Bugs have been found in the VirtualBox API C bindings. These bugs have
      been fixed in versions 4.2.20 and 4.3.4. However, the changes in the
      C bindings are incompatible with the vbox_CAPI_v4_2.h and vbox_CAPI_v4_3.h
      files which are bundled in libvirt source code.
      This is why the following patch adds vbox_CAPI_v4_2_20.h and
      vbox_CAPI_v4_3_4.h.
      
      The actual underlying problem here is that until now,
      libvirt assumed that VirtualBox API can only change between minor
      versions (4.2 -> 4.3), but we have a case here where it changed
      (or got fixed) between patch versions (4.2.18 -> 4.2.20).
      
      This patch makes the VBOX_API_VERSION represent the full API
      version number (i.e 4002 => 4002000) so there are specific version
      numbers for Vbox 4.2.20 (4002020) and 4.3.4 (4003004)
      bb85da2c
  13. 25 11月, 2013 1 次提交
    • R
      vbox: add support for 4.3 APIs · c677ee85
      Ryota Ozaki 提交于
      Makefile.am, vbox_V4_3.c and vbox_driver.c do regular
      modifitions to support a new version of APIs.
      
      vbox_tmpl.c basically fixes incompatibilities since 4.2.
      
      The affected incompatibilities of 4.3 are:
      * IMachine::Delete() has been renamed to IMachine::deleteConfig()
      * IMedium::CreateBaseStorage() now accepts multiple variant values
      * IDisplay::GetScreenResolution() now returns the display position
        in the guest
      * IMachine now has multiple IUSBControllers and IUSBDeviceFilters
        handles USB device filters instead of (obsolete) IUSBController
      
      This patch is tested on Mac OS X 10.8.5 and Fedora 19.
      Signed-off-by: NRyota Ozaki <ozaki.ryota@gmail.com>
      c677ee85
  14. 21 10月, 2013 1 次提交
  15. 07 6月, 2013 1 次提交
    • R
      Add support for VirtualBox 4.2 APIs · ab7110bf
      ryan woodsmall 提交于
      A few things have changed in the VirtualBox API - some small
      (capitalizations of things in function names like Ip to IP
      and Dhcp to DHCP) and some much larger (FindMedium is superceded
      by OpenMedium). The biggest change for the sake of this patch
      is the signature of CreateMachine is quite a bit different. Using
      the Oracle source as a guide, to spin up a VM with a given UUID,
      it looks like a text flag has to be passed in a new argument to
      CreateMachine. This flag is built in the VirtualBox 4.2 specific
      ifdefs and is kind of ugly but works. Additionally, there is now
      (unused) VM groups support in CreateMachine and the previous
      'osTypeId' arg is currently set to nsnull as in the Oracle code.
      
      The FindMedium to OpenMedium changes were more straightforward
      and are pretty clear. The rest of the vbox template changes are
      basically spelling/capitalization changes from the looks of things.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      ab7110bf
  16. 21 5月, 2013 1 次提交
    • E
      maint: refer to correct license file · 043af8ac
      Eric Blake 提交于
      Now that COPYING no longer contains the text of the LGPL,
      modify the LGPLv2-only files from vbox to call out the
      correct file.
      
      * src/vbox/vbox_CAPI_v2_2.h: Refer to correct file.
      * src/vbox/vbox_CAPI_v3_0.h: Likewise.
      * src/vbox/vbox_CAPI_v3_1.h: Likewise.
      * src/vbox/vbox_CAPI_v3_2.h: Likewise.
      * src/vbox/vbox_CAPI_v4_0.h: Likewise.
      * src/vbox/vbox_CAPI_v4_1.h: Likewise.
      * src/vbox/vbox_V2_2.c: Likewise.
      * src/vbox/vbox_V3_0.c: Likewise.
      * src/vbox/vbox_V3_1.c: Likewise.
      * src/vbox/vbox_XPCOMCGlue.c: Likewise.
      * src/vbox/vbox_XPCOMCGlue.h: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/vbox/vbox_driver.h: Likewise.
      * src/vbox/vbox_tmpl.c: Likewise.
      * src/vbox/vbox_V3_2.c: Copy license notice from vbox_V3_1.c.
      * src/vbox/vbox_V4_0.c: Likewise.
      * src/vbox/vbox_V4_1.c: Likewise.
      * src/vbox/README: Mention copyright issues; this particular
      file contains no code and therefore does not need LGPL.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      043af8ac
  17. 03 5月, 2013 1 次提交
    • E
      build: fix mingw build of vbox · 4f8e2bac
      Eric Blake 提交于
      More fallout from commit 7c9a2d88 dropping too many headers.  Fixes:
      
      In file included from ../../src/vbox/vbox_glue.c:26:0:
      ../../src/vbox/vbox_MSCOMGlue.c: In function 'vboxLookupVersionInRegistry':
      ../../src/vbox/vbox_MSCOMGlue.c:435:5: error: implicit declaration of function 'virParseVersionString' [-Werror=implicit-function-declaration]
      ...
      ../../src/vbox/vbox_driver.c: In function 'vboxConnectOpen':
      ../../src/vbox/vbox_driver.c:147:5: error: implicit declaration of function 'getuid' [-Werror=implicit-function-declaration]
      ../../src/vbox/vbox_driver.c:147:5: error: nested extern declaration of 'getuid' [-Werror=nested-externs]
      
      * src/vbox/vbox_MSCOMGlue.c (includes): Add missing includes.
      * src/vbox/vbox_driver.c (includes): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      4f8e2bac
  18. 02 5月, 2013 1 次提交
    • M
      virutil: Move string related functions to virstring.c · 7c9a2d88
      Michal Privoznik 提交于
      The source code base needs to be adapted as well. Some files
      include virutil.h just for the string related functions (here,
      the include is substituted to match the new file), some include
      virutil.h without any need (here, the include is removed), and
      some require both.
      7c9a2d88
  19. 24 4月, 2013 2 次提交
  20. 21 12月, 2012 3 次提交
  21. 02 11月, 2012 1 次提交
  22. 10 8月, 2012 1 次提交
    • E
      build: fix PROBE() usage of intptr_t · 51ee43aa
      Eric Blake 提交于
      Otherwise, in locations like virobject.c where PROBE is used,
      for certain configure options, the compiler warns:
      
      util/virobject.c:110:1: error: 'intptr_t' undeclared (first use in this function)
      
      As long as we are making this header always available, we can
      clean up several other files.
      
      * src/internal.h (includes): Pull in <stdint.h>.
      * src/conf/nwfilter_conf.h: Rely on internal.h.
      * src/storage/storage_backend.c: Likewise.
      * src/storage/storage_backend.h: Likewise.
      * src/util/cgroup.c: Likewise.
      * src/util/sexpr.h: Likewise.
      * src/util/virhashcode.h: Likewise.
      * src/util/virnetdevvportprofile.h: Likewise.
      * src/util/virnetlink.h: Likewise.
      * src/util/virrandom.h: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/xenapi/xenapi_driver.c: Likewise.
      * src/xenapi/xenapi_utils.c: Likewise.
      * src/xenapi/xenapi_utils.h: Likewise.
      * src/xenxs/xenxs_private.h: Likewise.
      * tests/storagebackendsheepdogtest.c: Likewise.
      51ee43aa
  23. 19 7月, 2012 1 次提交
  24. 30 10月, 2011 1 次提交
    • M
      vbox: Add support for VirtualBox 4.1 · 73ce5050
      Matthias Bolte 提交于
      Deal with the incompatible changes in the VirtualBox 4.1 API.
      
      INetworkAdapter has its different AttachTo* method replaced by
      a settable attachmentType property.
      
      The maximum number of network adapters is now requestable per
      chipset type.
      
      The OpenMedium method got a bool parameter to request opening
      a medium under a new IID.
      73ce5050
  25. 14 7月, 2011 1 次提交
    • E
      vbox: reject unknown flags · 8d173c47
      Eric Blake 提交于
      * src/vbox/vbox_driver.c (vboxOpenDummy): Reject unknown flags.
      * src/vbox/vbox_tmpl.c (vboxOpen, vboxDomainReboot)
      (vboxNetworkOpen, vboxNetworkGetXMLDesc, vboxStorageOpen)
      (vboxStorageVolCreateXML, vboxStorageVolDelete)
      (vboxStorageVolGetXMLDesc, vboxDomainScreenshot): Likewise.
      8d173c47
  26. 08 7月, 2011 1 次提交
    • E
      drivers: prefer unsigned int for flags · 1740c381
      Eric Blake 提交于
      Now that the public APIs always use unsigned flags, the internal
      driver callbacks might as well do likewise.
      
      * src/driver.h (vrDrvOpen, virDrvDomainCoreDump)
      (virDrvDomainGetXMLDesc, virDrvNetworkGetXMLDesc)
      (virDrvNWFilterGetXMLDesc): Update type.
      * src/remote/remote_protocol.x (remote_open_args)
      (remote_domain_core_dump_args, remote_domain_get_xml_desc_args)
      (remote_network_get_xml_desc_args)
      (remote_nwfilter_get_xml_desc_args): Likewise.
      * src/test/test_driver.c: Update clients.
      * src/remote/remote_driver.c: Likewise.
      * src/xen/xen_hypervisor.c: Likewise.
      * src/xen/xen_hypervisor.h: Likewise.
      * src/xen/xen_driver.c: Likewise.
      * src/xen/xend_internal.c: Likewise.
      * src/xen/xend_internal.h: Likewise.
      * src/xen/xm_internal.c: Likewise.
      * src/xen/xm_internal.h: Likewise.
      * src/xen/xs_internal.c: Likewise.
      * src/xen/xs_internal.h: Likewise.
      * src/xen/xen_inotify.c: Likewise.
      * src/xen/xen_inotify.h: Likewise.
      * src/phyp/phyp_driver.c: Likewise.
      * src/openvz/openvz_driver.c: Likewise.
      * src/vmware/vmware_driver.c: Likewise.
      * src/vbox/vbox_driver.c: Likewise.
      * src/vbox/vbox_tmpl.c: Likewise.
      * src/xenapi/xenapi_driver.c: Likewise.
      * src/esx/esx_driver.c: Likewise.
      * src/esx/esx_interface_driver.c: Likewise.
      * src/esx/esx_network_driver.c: Likewise.
      * src/esx/esx_storage_driver.c: Likewise.
      * src/esx/esx_device_monitor.c: Likewise.
      * src/esx/esx_secret_driver.c: Likewise.
      * src/esx/esx_nwfilter_driver.c: Likewise.
      * src/interface/netcf_driver.c: Likewise.
      * src/nwfilter/nwfilter_driver.c: Likewise.
      * src/libxl/libxl_driver.c: Likewise.
      * src/qemu/qemu_driver.c: Likewise.
      * src/lxc/lxc_driver.c: Likewise.
      * src/uml/uml_driver.c: Likewise.
      * src/network/bridge_driver.c: Likewise.
      * src/secret/secret_driver.c: Likewise.
      * src/storage/storage_driver.c: Likewise.
      * src/node_device/node_device_hal.c: Likewise.
      * src/node_device/node_device_udev.c: Likewise.
      * src/remote_protocol-structs: Likewise.
      1740c381
  27. 12 5月, 2011 1 次提交
    • L
      libvirt,logging: cleanup VIR_XXX0() · b65f37a4
      Lai Jiangshan 提交于
      These VIR_XXXX0 APIs make us confused, use the non-0-suffix APIs instead.
      
      How do these coversions works? The magic is using the gcc extension of ##.
      When __VA_ARGS__ is empty, "##" will swallow the "," in "fmt," to
      avoid compile error.
      
      example: origin				after CPP
      	high_level_api("%d", a_int)	low_level_api("%d", a_int)
      	high_level_api("a  string")	low_level_api("a  string")
      
      About 400 conversions.
      
      8 special conversions:
      VIR_XXXX0("") -> VIR_XXXX("msg") (avoid empty format) 2 conversions
      VIR_XXXX0(string_literal_with_%) -> VIR_XXXX(%->%%) 0 conversions
      VIR_XXXX0(non_string_literal) -> VIR_XXXX("%s", non_string_literal)
        (for security) 6 conversions
      Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
      b65f37a4
  28. 17 4月, 2011 1 次提交
  29. 21 2月, 2011 1 次提交
    • E
      maint: kill all remaining uses of old DEBUG macro · 994e7567
      Eric Blake 提交于
      Done mechanically with:
      $ git grep -l '\bDEBUG0\? *(' | xargs -L1 sed -i 's/\bDEBUG0\? *(/VIR_&/'
      
      followed by manual deletion of qemudDebug in daemon/libvirtd.c, along
      with a single 'make syntax-check' fallout in the same file, and the
      actual deletion in src/util/logging.h.
      
      * src/util/logging.h (DEBUG, DEBUG0): Delete.
      * daemon/libvirtd.h (qemudDebug): Likewise.
      * global: Change remaining clients over to VIR_DEBUG counterpart.
      994e7567
  30. 28 12月, 2010 1 次提交
    • M
      vbox: Add support for VirtualBox 4.0 · 8d2e24d6
      Matthias Bolte 提交于
      Add vboxArrayGetWithUintArg to handle new signature variations. Also
      refactor vboxArrayGet* implementation to use a common helper function.
      
      Deal with the incompatible changes in the VirtualBox 4.0 API. This
      includes major changes in virtual machine and storage medium lookup,
      in RDP server property handling, in session/lock handling and other
      minor areas.
      
      VirtualBox 4.0 also dropped the old event API and replaced it with a
      completely new one. This is not fixed yet and will be addressed in
      another patch. Therefore, currently the domain events are supported
      for VirtualBox 3.x only.
      
      Based on initial work from Jean-Baptiste Rouault.
      8d2e24d6
  31. 18 12月, 2010 1 次提交
    • M
      vbox: Add glue layer for MSCOM on Windows · 448347f8
      Matthias Bolte 提交于
      Don't require dlopen, but link to ole32 and oleaut32 on Windows.
      
      Don't expose g_pVBoxFuncs anymore. It was only used to get the
      version of the API. Make VBoxCGlueInit return the version instead.
      This simplifies the implementation of the MSCOM glue layer.
      
      Get the VirtualBox version from the registry.
      
      Add a dummy implementation of the nsIEventQueue to the MSCOM glue
      as there seems to be no direct equivalent with MSCOM. It might be
      implemented using the normal window message loop. This requires
      additional investigation.
      448347f8
  32. 27 5月, 2010 1 次提交
  33. 06 4月, 2010 1 次提交
  34. 08 3月, 2010 1 次提交
    • E
      build: consistently use C99 varargs macros · 2e56fb2b
      Eric Blake 提交于
      Prior to this patch, there was an inconsistent mix between GNU and C99.
      
      For consistency, and potential portability to other compilers, stick
      with the C99 vararg macro syntax.
      
      * src/conf/cpu_conf.c (virCPUReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/conf/domain_conf.c (virDomainReportError): Likewise.
      * src/conf/domain_event.c (eventReportError): Likewise.
      * src/conf/interface_conf.c (virInterfaceReportError): Likewise.
      * src/conf/network_conf.c (virNetworkReportError): Likewise.
      * src/conf/node_device_conf.h (virNodeDeviceReportError): Likewise.
      * src/conf/secret_conf.h (virSecretReportError): Likewise.
      * src/conf/storage_conf.h (virStorageReportError): Likewise.
      * src/esx/esx_device_monitor.c (ESX_ERROR): Use C99 rather than
        GNU vararg macro syntax.
      * src/esx/esx_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_interface_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_network_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_secret_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_storage_driver.c (ESX_ERROR): Likewise.
      * src/esx/esx_util.c (ESX_ERROR): Likewise.
      * src/esx/esx_vi.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vi_methods.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vi_types.c (ESX_VI_ERROR): Likewise.
      * src/esx/esx_vmx.c (ESX_ERROR): Likewise.
      * src/util/hostusb.c (usbReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/util/json.c (virJSONError): Likewise.
      * src/util/macvtap.c (ReportError): Likewise.
      * src/util/pci.c (pciReportError): Likewise.
      * src/util/stats_linux.c (virStatsError): Likewise.
      * src/util/util.c (virUtilError): Likewise.
      * src/util/xml.c (virXMLError): Likewise.
      * src/xen/proxy_internal.c (virProxyError): Use C99 rather than
        GNU vararg macro syntax.
      * src/xen/sexpr.c (virSexprError): Likewise.
      * src/xen/xen_driver.c (xenUnifiedError): Likewise.
      * src/xen/xen_hypervisor.c (virXenError): Likewise.
      * src/xen/xen_inotify.c (virXenInotifyError): Likewise.
      * src/xen/xend_internal.c (virXendError): Likewise.
      * src/xen/xm_internal.c (xenXMError): Likewise.
      * src/xen/xs_internal.c (virXenStoreError): Likewise.
      * src/cpu/cpu.h (virCPUReportError): Use C99 rather than GNU
        vararg macro syntax.
      * src/datatypes.c (virLibConnError): Likewise.
      * src/interface/netcf_driver.c (interfaceReportError): Likewise.
      * src/libvirt.c (virLibStreamError): Likewise.
      * src/lxc/lxc_conf.h (lxcError): Likewise.
      * src/network/bridge_driver.c (networkReportError): Likewise.
      * src/nodeinfo.c (nodeReportError): Likewise.
      * src/opennebula/one_conf.h (oneError): Likewise.
      * src/openvz/openvz_conf.h (openvzError): Likewise.
      * src/phyp/phyp_driver.c (PHYP_ERROR): Likewise.
      * src/qemu/qemu_conf.h (qemuReportError): Likewise.
      * src/remote/remote_driver.c (errorf): Likewise.
      * src/security/security_driver.h (virSecurityReportError): Likewise.
      * src/test/test_driver.c (testError): Likewise.
      * src/uml/uml_conf.h (umlReportError): Likewise.
      * src/vbox/vbox_driver.c (vboxError): Likewise.
      * src/vbox/vbox_tmpl.c (vboxError): Likewise.
      2e56fb2b
  35. 18 1月, 2010 1 次提交