1. 21 9月, 2012 1 次提交
  2. 23 7月, 2012 1 次提交
    • O
      Desert the FSF address in copyright · f9ce7dad
      Osier Yang 提交于
      Per the FSF address could be changed from time to time, and GNU
      recommends the following now: (http://www.gnu.org/licenses/gpl-howto.html)
      
        You should have received a copy of the GNU General Public License
        along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
      
      This patch removes the explicit FSF address, and uses above instead
      (of course, with inserting 'Lesser' before 'General').
      
      Except a bunch of files for security driver, all others are changed
      automatically, the copyright for securify files are not complete,
      that's why to do it manually:
      
        src/security/security_selinux.h
        src/security/security_driver.h
        src/security/security_selinux.c
        src/security/security_apparmor.h
        src/security/security_apparmor.c
        src/security/security_driver.c
      f9ce7dad
  3. 20 7月, 2012 1 次提交
  4. 30 4月, 2012 1 次提交
  5. 30 3月, 2012 1 次提交
  6. 04 1月, 2012 1 次提交
  7. 16 7月, 2011 1 次提交
    • E
      esx: reject unknown flags · ca122578
      Eric Blake 提交于
      Silently ignored flags get in the way of new features that
      use those flags.
      
      Regarding ESX migration flags - right now, ESX silently enforces
      VIR_MIGRATE_PERSIST_DEST, VIR_MIGRATE_UNDEFINE_SOURCE, and
      VIR_MIGRATE_LIVE, even if those flags were not supplied; it ignored
      other flags.  This patch does not change the implied bits (it permits
      but does not require them), but enforces only the supported bits.
      If further cleanup is needed to be more particular about migration
      flags, that should be a separate patch.
      
      * src/esx/esx_device_monitor.c (esxDeviceOpen): Reject unknown
      flags.
      * src/esx/esx_driver.c (esxOpen, esxDomainReboot)
      (esxDomainXMLFromNative, esxDomainXMLToNative)
      (esxDomainMigratePrepare, esxDomainMigratePerform)
      (esxDomainMigrateFinish): Likewise.
      * src/esx/esx_interface_driver.c (esxInterfaceOpen): Likewise.
      * src/esx/esx_network_driver.c (esxNetworkOpen): Likewise.
      * src/esx/esx_nwfilter_driver.c (esxNWFilterOpen): Likewise.
      * src/esx/esx_secret_driver.c (esxSecretOpen): Likewise.
      * src/esx/esx_storage_driver.c (esxStorageOpen): Likewise.
      ca122578
  8. 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
  9. 07 6月, 2011 1 次提交
  10. 06 6月, 2011 1 次提交
  11. 17 5月, 2011 1 次提交
  12. 16 5月, 2011 2 次提交
    • D
      Add many version number annotations to drivers · 9b1ae97f
      Daniel P. Berrange 提交于
      Add many version number annotations to the internal driver
      tables, to allow hvsupport.html to display more accurate
      information
      9b1ae97f
    • D
      Convert all driver struct intializers to C99 style · 879d409e
      Daniel P. Berrange 提交于
      Change all the driver struct initializers to use the
      C99 style, leaving out unused fields. This will make
      it possible to add new APIs without changing every
      driver. eg change:
      
          qemudDomainResume, /* domainResume */
          qemudDomainShutdown, /* domainShutdown */
          NULL, /* domainReboot */
          qemudDomainDestroy, /* domainDestroy */
      
      to
      
          .domainResume = qemudDomainResume,
          .domainShutdown = qemudDomainShutdown,
          .domainDestroy = qemudDomainDestroy,
      
      And get rid of any existing C99 style initializersr which
      set NULL, eg change
      
           .listPools          = vboxStorageListPools,
           .numOfDefinedPools  = NULL,
           .listDefinedPools   = NULL,
           .findPoolSources    = NULL,
           .poolLookupByName   = vboxStoragePoolLookupByName,
      
      to
      
           .listPools          = vboxStorageListPools,
           .poolLookupByName   = vboxStoragePoolLookupByName,
      879d409e
  13. 11 5月, 2011 1 次提交
    • M
      Rename internal DumpXML functions to GetXMLDesc · 9817604a
      Matthias Bolte 提交于
      This matches the public API and helps to get rid of some special
      case code in the remote generator.
      
      Rename driver API functions and XDR protocol structs.
      
      No functional change included outside of the remote generator.
      9817604a
  14. 29 3月, 2011 1 次提交
    • D
      Add public APIs for storage volume upload/download · 7300f68d
      Daniel P. Berrange 提交于
      New APIs are added allowing streaming of content to/from
      storage volumes.
      
      * include/libvirt/libvirt.h.in: Add virStorageVolUpload and
        virStorageVolDownload APIs
      * src/driver.h, src/libvirt.c, src/libvirt_public.syms: Stub
        code for new APIs
      * src/storage/storage_driver.c, src/esx/esx_storage_driver.c:
        Add dummy entries in driver table for new APIs
      7300f68d
  15. 29 1月, 2011 1 次提交
    • M
      Add VIR_DIV_UP to divide memory or storage request sizes with round up · d9ad8ac3
      Matthias Bolte 提交于
      Use it in all places where a memory or storage request size is converted
      to a larger granularity. This avoids requesting too small memory or storage
      sizes that could result from the truncation done by a simple division.
      
      This extends the round up fix in 6002e040
      to the whole codebase.
      
      Instead of reporting errors for odd values in the VMX code round them up.
      
      Update the QEMU Argv tests accordingly as the original memory size 219200
      isn't a even multiple of 1024 and is rounded up to 215 megabyte now. Change
      it to 219100 and 219136. Use two different values intentionally to make
      sure that rounding up works.
      
      Update virsh.pod accordingly, as rounding down and rejecting are replaced
      by rounding up.
      d9ad8ac3
  16. 23 12月, 2010 2 次提交
  17. 14 12月, 2010 1 次提交
  18. 11 12月, 2010 2 次提交
    • M
      c9006b6b
    • M
      esx: Improve error reporting for failed tasks · 2a151699
      Matthias Bolte 提交于
      Instead of just reporting that a task failed get the
      localized message from the TaskInfo error and include
      it in the reported error message.
      
      Implement minimal deserialization support for the
      MethodFault type in order to obtain the actual fault
      type.
      
      For example, this changes the reported error message
      when trying to create a volume with zero size from
      
        Could not create volume
      
      to
      
        Could not create volume: InvalidArgument - A specified parameter was not correct.
      
      Not perfect yet, but better than before.
      2a151699
  19. 15 10月, 2010 1 次提交
  20. 08 9月, 2010 1 次提交
    • M
      esx: Fall back to path as key when QueryVirtualDiskUuid isn't available · 8fdb0b0c
      Matthias Bolte 提交于
      QueryVirtualDiskUuid is only available on an ESX(i) server. vCenter
      returns an NotImplemented fault and a GSX server is missing the
      VirtualDiskManager completely. Therefore only use QueryVirtualDiskUuid
      with an ESX(i) server and fall back to path as storage volume key for
      vCenter and GSX server.
      8fdb0b0c
  21. 04 9月, 2010 2 次提交
  22. 03 9月, 2010 1 次提交
    • M
      esx: Rework datastore path parsing and handling · 84768912
      Matthias Bolte 提交于
      Instead of splitting the path part of a datastore path into
      directory and file name, keep this in one piece. An example:
      
        "[datastore] directory/file"
      
      was split into this before:
      
        datastoreName = "datastore"
        directoryName = "directory"
        fileName = "file"
      
      Now it's split into this:
      
        datastoreName = "datastore"
        directoryName = "directory"
        directoryAndFileName = "directory/file"
      
      This simplifies code using esxUtil_ParseDatastorePath, because
      directoryAndFileName is used more often than fileName. Also the
      old approach expected the datastore path to reference an actual
      file, but this isn't always correct, especially when listing
      volumes. In that case esxUtil_ParseDatastorePath is used to parse
      a path that references a directory. This fails for a vpx://
      connection because the vCenter returns directory paths with a
      trailing '/'. The new approach is robust against this and the
      actual decision if the datastore path should reference a file or
      a directory is up to the caller of esxUtil_ParseDatastorePath.
      
      Update the tests accordingly.
      84768912
  23. 27 8月, 2010 1 次提交
  24. 21 8月, 2010 1 次提交
    • M
      esx: Use MD5 sum of mount path as storage pool UUID · 92af69ab
      Matthias Bolte 提交于
      With the previous storage pool UUID source not all storage pools
      had a proper UUID, especially GSX storage pools. The mount path
      is unique per host and cannot change during the lifetime of the
      datastore. Therefore, it's MD5 sum can be used as UUID.
      
      Use gnulib's crypto/md5 module to generate the MD5 sum.
      92af69ab
  25. 03 8月, 2010 3 次提交
    • M
      esx: Set storage pool target path to host.mountInfo.path · 14954fb8
      Matthias Bolte 提交于
      Now all storage pool types expose the target path.
      14954fb8
    • M
      esx: Make storage pool lookup by name and UUID more robust · 5254546b
      Matthias Bolte 提交于
      Don't rely on summary.url anymore, because its value is different
      between an esx:// and vpx:// connection. Use host.mountInfo.path
      instead.
      
      Don't fallback to lookup by UUID (actually lookup by absolute path)
      in esxVI_LookupDatastoreByName when lookup by name fails. Add a
      seperate function for this: esxVI_LookupDatastoreByAbsolutePath
      5254546b
    • M
      esx: Restrict vpx:// to handle a single host in a vCenter · e4938ce2
      Matthias Bolte 提交于
      Now a vpx:// connection has an explicitly specified host. This
      allows to enabled several functions for a vpx:// connection
      again, like host UUID, hostname, general node info, max vCPU
      count, free memory, migration and defining new domains.
      
      Lookup datacenter, compute resource, resource pool and host
      system once and cache them. This simplifies the rest of the
      code and reduces overall HTTP(S) traffic a bit.
      
      esx:// and vpx:// can be mixed freely for a migration.
      
      Ensure that migration source and destination refer to the
      same vCenter. Also directly encode the resource pool and
      host system object IDs into the migration URI in the prepare
      function. Then directly build managed object references in
      the perform function instead of re-looking up already known
      information.
      e4938ce2
  26. 30 7月, 2010 1 次提交
  27. 25 7月, 2010 1 次提交
    • M
      esx: Add vpx:// scheme to allow direct connection to a vCenter · 3827f7f0
      Matthias Bolte 提交于
      Add a pointer to the primary context of a connection and use it in all
      driver functions that don't dependent on the context type. This includes
      almost all functions that deal with a virDomianPtr. Therefore, using
      a vpx:// connection allows you to perform all the usual domain related
      actions like start, destroy, suspend, resume, dumpxml etc.
      
      Some functions that require an explicitly specified ESX server don't work
      yet. This includes the host UUID, the hostname, the general node info, the
      max vCPU count and the free memory. Also not working yet are migration and
      defining new domains.
      3827f7f0
  28. 27 5月, 2010 1 次提交
    • M
      esx: Simplify goto usage · 041aac86
      Matthias Bolte 提交于
      Eliminate almost all backward jumps by replacing this common pattern:
      
      int
      some_random_function(void)
      {
          int result = 0;
          ...
      
        cleanup:
          <unconditional cleanup code>
          return result;
      
        failure:
          <cleanup code in case of an error>
          result = -1;
          goto cleanup
      }
      
      with this simpler pattern:
      
      int
      some_random_function(void)
      {
          int result = -1;
          ...
          result = 0;
      
        cleanup:
          if (result < 0) {
              <cleanup code in case of an error>
          }
      
          <unconditional cleanup code>
          return result;
      }
      
      Add a bool success variable in functions that don't have a int result
      that can be used for the new pattern.
      
      Also remove some unnecessary memsets in error paths.
      041aac86
  29. 26 5月, 2010 1 次提交
    • M
      esx: Add read-only storage pool access · ddb4ae0c
      Matthias Bolte 提交于
      Allows listing existing pools and requesting information about them.
      
      Alter the esxVI_ProductVersion enum in a way that allows to check for
      product type by masking.
      ddb4ae0c
  30. 07 4月, 2010 1 次提交
    • M
      esx: Mark error messages for translation · 028db0bf
      Matthias Bolte 提交于
      Also define ESX_ERROR and ESX_VI_ERROR in a central place, instead of
      defining them in each source file.
      
      Add ESX_ERROR and ESX_VI_ERROR to the msg_gen_function list in cfg.mk.
      
      Update po/POTFILES.in accordingly.
      028db0bf
  31. 23 3月, 2010 1 次提交
  32. 20 3月, 2010 1 次提交
  33. 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
  34. 18 1月, 2010 1 次提交