1. 29 10月, 2014 13 次提交
    • T
      vbox: Make IMediumAttachment work with vbox2.2 and 3.0 · 3d33e388
      Taowei Luo 提交于
      The GetMedium will always return a IHardDisk object them.
      In 2.2 and 3.0, it is what GetHardDisk exactly do. In 3.1 and later,
      The IMedium is same as IHardDisk.
      3d33e388
    • T
      vbox: Rewrite vboxStorageVolCreateXML · 0cd409cd
      Taowei Luo 提交于
      If the <path> in target element is not given, libvirt will put the
      new volume in ~/.VirtualBox by default.
      0cd409cd
    • T
      vbox: Make CreateHardDisk support all vbox versions · 382e655d
      Taowei Luo 提交于
      The CreateHardDiskMedium only support create HardDisk for medium
      type, and it only works when vbox version >= 3.1. This patch make
      the function workable with all vbox versions and rename it as
      CreateHardDisk.
      
      In vbox 2.2 and 3.0 this function will create a IHardDisk object.
      In vbox later than 3.0, this function will create a IMedium object.
      382e655d
    • T
      vbox: Rewrite vboxStorageVolLookupByPath · fc41e003
      Taowei Luo 提交于
      fc41e003
    • T
      vbox: Make FindMedium support old vbox versions · 1599319c
      Taowei Luo 提交于
      In old version, function FindMedium in UIVirtualBox doesn't work
      for vbox2.2 and 3.0. We assume it will not be used when vbox in
      these versions.
      
      But when rewriting vboxStorageVolLookupByPath, we found it was
      compatibe to use FindMedium to get a IHardDisk object, even in
      vbox old versions. To achieve this, first make FindMedium call
      FindHardDisk when VBOX_API_VERSION < 4000000.
      Then change the argument type **IMedium to **IHardDisk. (As the
      rules in heriachy, we can't transfer a IHardDisk to match
      IMedium in output)
      
      In vbox 2.2 and 3.0, the caller must be aware that they will get
      a IHardDisk object in return.
      1599319c
    • T
      vbox: Rewrite vboxStorageVolLookupByKey · f67ae174
      Taowei Luo 提交于
      f67ae174
    • T
      vbox: Rewrite vboxStorageVolLookupByName · 8a8fa504
      Taowei Luo 提交于
      8a8fa504
    • T
      vbox: Rewrite vboxStoragePoolListVolumes · c3c8cd4f
      Taowei Luo 提交于
      c3c8cd4f
    • T
      vbox: Rewrite vboxStoragePoolNumOfVolumes · ce381d37
      Taowei Luo 提交于
      We use typedef IMedium IHardDisk to make IHardDisk hierachy from
      IMedium (Actually it did on vbox 2.2 and 3.0's C++ API).
      So when calling
          VBOX_MEDIUM_FUNC_ARG*(IHardDisk, func, args)
      we can directly replace it to
          gVBoxAPI.UIMedium.func(IHardDisk, args)
      
      When dealing with this two types, we get some rules from it's
      hierachy relationship.
      
      When using IHardDisk and IMedium as input, we can't transfer a
      IMedium to IHardDisk. Like:
          gVBoxAPI.UIHardDisk.func(IHardDisk *hardDisk, args)
          Here, we can't put a *IMedium as a argument.
      
      When using IHardDisk and IMedium as output, we can't transfer a
      IHardDisk to IMedium. Like:
          gVBoxAPI.UIMachine.GetMedium(IMedium **out)
          Here, we can't put a **IHardDisk as a argument. If this case
          do happen, we either change the API to GetHardDisk or write a
          new one.
      ce381d37
    • T
      vbox: Rewrite vbox-independent functions · 459886d4
      Taowei Luo 提交于
      This patch rewrites the following functions
          *vboxStorageOpen
          *vboxStorageClose
          *vboxConnectNumOfStoragePools
          *vboxConnectListStoragePools
          *vboxStoragePoolLookupByName
      
      These functions do not call any vbox API, so I directly move it
      from vbox_tmpl.c to vbox_storage.c
      
      A small improvement is made on vboxConnectListStoragePools.
      The if condition nnames == 1 is modified to nnames > 0. So if the
      caller put more than one slot to get active storage pools, the new
      function will return exactly one, while the old one would only
      return 0.
      459886d4
    • T
      vbox: move common codes to vbox_common.h · 7d5b9419
      Taowei Luo 提交于
      There are lots of macro declarations in vbox_common.c,
      vbox_network.c, and the coming vbox_storage.c which simply the API
      calling. Since they are totally the same. We shouldn't keep three
      copies of that, so they are moved to vbox_common.h.
      
      Note: The macros are quite different from those in vbox_tmpl.c,
            because they are using different API.
      7d5b9419
    • T
      vbox: Remove VBOX_OBJECT_CHECK macro · a6b1cde3
      Taowei Luo 提交于
      We should follow the rules that CHECK macro only do checking works.
      But this VBOX_OBJECT_CHECK and VBOX_OBJECT_HOST_CHECK declared some
      varibles at the same time, which broke the rule. So the patch
      removed this macros and dispatched it in source code.
      
      The storage driver is still not rewriten at this point. So, I
      remains the VBOX_OBJECT_CHECK macro in vbox_tmpl.c. But this will
      finally be removed in patch 'vbox: Remove unused things in vbox_tmpl.c'
      a6b1cde3
    • T
      vbox: Fix copyright mistake · c5cc26e6
      Taowei Luo 提交于
      I made a mistake on copyright in patch 7f0f415b.
      
      If I copied codes from one file to another, I should copy the
      copyright announcement as well. So this patch makes up the
      copyright which I should have added in the previous patch.
      c5cc26e6
  2. 25 10月, 2014 1 次提交
  3. 23 10月, 2014 1 次提交
  4. 15 10月, 2014 1 次提交
  5. 04 10月, 2014 1 次提交
  6. 03 10月, 2014 14 次提交
  7. 26 9月, 2014 1 次提交
  8. 25 9月, 2014 1 次提交
  9. 11 9月, 2014 1 次提交
    • J
      vbox: Resolve Coverity UNUSED_VALUE · abddeb84
      John Ferlan 提交于
      Handle a few places where Coverity complains about the value being
      unused. For two of them (Close cases) - the comments above the close
      indicate there is no harm to ignore the error - so added an ignore_value.
      For the other condition, added an rc check like other callers.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      abddeb84
  10. 10 9月, 2014 1 次提交
    • M
      conf: Extend <loader/> and introduce <nvram/> · 68bf13db
      Michal Privoznik 提交于
      Up to now, users can configure BIOS via the <loader/> element. With
      the upcoming implementation of UEFI this is not enough as BIOS and
      UEFI are conceptually different. For instance, while BIOS is ROM, UEFI
      is programmable flash (although all writes to code section are
      denied). Therefore we need new attribute @type which will
      differentiate the two. Then, new attribute @readonly is introduced to
      reflect the fact that some images are RO.
      
      Moreover, the OVMF (which is going to be used mostly), works in two
      modes:
      1) Code and UEFI variable store is mixed in one file.
      2) Code and UEFI variable store is separated in two files
      
      The latter has advantage of updating the UEFI code without losing the
      configuration. However, in order to represent the latter case we need
      yet another XML element: <nvram/>. Currently, it has no additional
      attributes, it's just a bare element containing path to the variable
      store file.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      68bf13db
  11. 05 9月, 2014 1 次提交
    • E
      maint: use hanging curly braces · 625e04a8
      Eric Blake 提交于
      Our style overwhelmingly uses hanging braces (the open brace
      hangs at the end of the compound condition, rather than on
      its own line), with the primary exception of the top level function
      body.  Fix the few remaining outliers, before adding a syntax
      check in a later patch.
      
      * src/interface/interface_backend_netcf.c (netcfStateReload)
      (netcfInterfaceClose, netcf_to_vir_err): Correct use of { in
      compound statement.
      * src/conf/domain_conf.c (virDomainHostdevDefFormatSubsys)
      (virDomainHostdevDefFormatCaps): Likewise.
      * src/network/bridge_driver.c (networkAllocateActualDevice):
      Likewise.
      * src/util/virfile.c (virBuildPathInternal): Likewise.
      * src/util/virnetdev.c (virNetDevGetVirtualFunctions): Likewise.
      * src/util/virnetdevmacvlan.c
      (virNetDevMacVLanVPortProfileCallback): Likewise.
      * src/util/virtypedparam.c (virTypedParameterAssign): Likewise.
      * src/util/virutil.c (virGetWin32DirectoryRoot)
      (virFileWaitForDevices): Likewise.
      * src/vbox/vbox_common.c (vboxDumpNetwork): Likewise.
      * tests/seclabeltest.c (main): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      625e04a8
  12. 04 9月, 2014 1 次提交
    • E
      maint: use consistent if-else braces in lxc, vbox, phyp · 279b1b10
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This patch focuses on drivers that had several issues.
      
      * src/lxc/lxc_fuse.c (lxcProcGetattr, lxcProcReadMeminfo): Correct
      use of {}.
      * src/lxc/lxc_driver.c (lxcDomainMergeBlkioDevice): Likewise.
      * src/phyp/phyp_driver.c (phypConnectNumOfDomainsGeneric)
      (phypUUIDTable_Init, openSSHSession, phypStoragePoolListVolumes)
      (phypConnectListStoragePools, phypDomainSetVcpusFlags)
      (phypStorageVolGetXMLDesc, phypStoragePoolGetXMLDesc)
      (phypConnectListDefinedDomains): Likewise.
      * src/vbox/vbox_common.c (vboxAttachSound, vboxDumpDisplay)
      (vboxDomainRevertToSnapshot, vboxDomainSnapshotDelete): Likewise.
      * src/vbox/vbox_tmpl.c (vboxStorageVolGetXMLDesc): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      279b1b10
  13. 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
  14. 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
  15. 15 8月, 2014 1 次提交
    • 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