1. 10 12月, 2009 1 次提交
    • M
      Add virBufferFreeAndReset() and replace free() · 1b9d0744
      Matthias Bolte 提交于
      Replace free(virBufferContentAndReset()) with virBufferFreeAndReset().
      Update documentation and replace all remaining calls to free() with
      calls to VIR_FREE(). Also add missing calls to virBufferFreeAndReset()
      and virReportOOMError() in OOM error cases.
      1b9d0744
  2. 04 12月, 2009 1 次提交
    • M
      Add virIndexToDiskName and fix mapping gap · 63166a4e
      Matthias Bolte 提交于
      esxVMX_IndexToDiskName handles indices up to 701. This limit comes
      from a mapping gap in virDiskNameToIndex:
      
        sdzy -> 700
        sdzz -> 701
        sdaaa -> 728
        sdaab -> 729
      
      This line in virDiskNameToIndex causes this gap:
      
        idx = (idx + i) * 26;
      
      Fixing it by altering this line to:
      
        idx = (idx + (i < 1 ? 0 : 1)) * 26;
      
      Also add a new version of virIndexToDiskName that handles the inverse
      mapping for arbitrary indices.
      
      * src/esx/esx_vmx.[ch]: remove esxVMX_IndexToDiskName
      * src/util/util.[ch]: add virIndexToDiskName and fix mapping gap
      * tests/esxutilstest.c: update test to verify that the gap is fixed
      63166a4e
  3. 15 11月, 2009 2 次提交
    • M
      esx: Fix MAC address formatting · 645f4aca
      Matthias Bolte 提交于
      VMware uses two MAC address prefixes: 00:0c:29 and 00:50:56. The 00:0c:29
      prefix is used for ESX server generated addresses. The 00:50:56 prefix is
      split into two parts. MAC addresses above 00:50:56:3f:ff:ff are generated
      by a vCenter. The rest of the 00:50:56 prefix can be assigned manually.
      Any MAC address within the 00:0c:29 and 00:50:56 prefix can be specified
      in a domain XML config and the driver will handle the details internally.
      
      * src/esx/esx_vmx.c: fix MAC address formatting
      * tests/xml2vmxdata/*: update test files accordingly
      645f4aca
    • M
      esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() · 4b3e1952
      Matthias Bolte 提交于
      In commit 3c80fac2 'vmxnet3' handling
      was added to esxVMX_ParseEthernet(), but not to the inverse function
      esxVMX_FormatEthernet().
      4b3e1952
  4. 05 11月, 2009 1 次提交
    • M
      Allow character devices to have different target types · 89d549c3
      Matthew Booth 提交于
      A character device's target (it's interface in the guest) had only a
      single property: port. This patch is in preparation for adding targets
      which require other properties.
      Since this changes the conf type for character devices this affects
      a number of drivers:
      
      * src/conf/domain_conf.[ch] src/esx/esx_vmx.c src/qemu/qemu_conf.c
        src/qemu/qemu_driver.c src/uml/uml_conf.c src/uml/uml_driver.c
        src/vbox/vbox_tmpl.c src/xen/xend_internal.c src/xen/xm_internal.c:
        target properties are moved into a union in virDomainChrDef, and a
        targetType field is added to identify which union member should be
        used. All current code which touches a virDomainChrDef is updated both
        to use the new union field, and to populate targetType if necessary.
      89d549c3
  5. 03 11月, 2009 1 次提交
  6. 23 9月, 2009 5 次提交
    • M
      ESX: Check if a datastore is accessible first · b167672c
      Matthias Bolte 提交于
      An inaccessible datastore has no valid URL property so don't
      access its URI property.
      
      * src/esx/esx_vi.c: esxVI_LookupDatastoreByName(): check if datastore is
        accessible before accessing its URL property
      * src/esx/esx_vmx.c: update to changed datastore properties
      b167672c
    • M
      ESX replace esxUtil_EqualSuffix() with virFileHasSuffix() · 8ce9f2b1
      Matthias Bolte 提交于
      * src/esx/esx_util.[ch]: remove esxUtil_EqualSuffix()
      * src/esx/esx_driver.c, src/esx/esx_vmx.c: replace esxUtil_EqualSuffix()
        with virFileHasSuffix()
      8ce9f2b1
    • M
      ESX add esxDomainDefineXML() · 49faa15e
      Matthias Bolte 提交于
      A given domain XML gets converted to a VMX config, uploaded to the host
      and registered as new virtual machine.
      
      * src/esx/esx_driver.c: refactor datastore related path parsing into
        esxUtil_ParseDatastoreRelatedPath()
      * src/esx/esx_util.[ch]: add esxUtil_ParseDatastoreRelatedPath()
      * src/esx/esx_vi.[ch]: add esxVI_Context_UploadFile(), add datastores to
        the traversal in esxVI_BuildFullTraversalSpecList(), add
        esxVI_LookupDatastoreByName()
      * src/esx/esx_vi_methods.[ch]: add esxVI_RegisterVM_Task()
      * src/esx/esx_vi_types.c: make some error message more verbose
      * src/esx/esx_vmx.[ch]: add esxVMX_AbsolutePathToDatastoreRelatedPath()
        to convert a path into a datastore related path, add esxVMX_ParseFileName()
        to convert from VMX path format to domain XML path format, extend the other
        parsing function to be datastore aware, add esxVMX_FormatFileName() to
        convert from domain XML path format to VMX path format, fix VMX ethernet
        entry formating
      * tests/esxutilstest.c: add test for esxUtil_ParseDatastoreRelatedPath()
      * tests/vmx2xmldata/*: update domain XML files to use datastore related paths
      * tests/xml2vmxdata/*: update domain XML files to use datastore related paths,
        update VMX files to use absolute paths
      49faa15e
    • M
      ESX Add esxDomainXMLToNative() · a1c4d7d7
      Matthias Bolte 提交于
      Extend and cleanup the VMX to domain XML mapping. Add the domain XML to
      VMX mapping functions.
      
      * src/esx/esx_driver.c: add esxDomainXMLToNative()
      * src/esx/esx_vmx.[ch]: add esxVMX_SCSIDiskNameToControllerAndID(),
        esxVMX_IDEDiskNameToControllerAndID(), esxVMX_FloppyDiskNameToController(),
        esxVMX_GatherSCSIControllers(), add basic handling for the VMX guestOS entry
        to distinguish between i686 and x86_64, make SCSI virtualDev VMX entry
        optional as it should be, map the VMX networkName entry to the domain XML
        interface bridge name, add basic mapping for serial devices in pipe mode,
        add several esxVMX_Format*() functions
      a1c4d7d7
    • C
      Introduce virStrncpy. · 03d777f3
      Chris Lalancette 提交于
      Add the virStrncpy function, which takes a dst string, source string,
      the number of bytes to copy and the number of bytes available in the
      dest string.  If the source string is too large to fit into the
      destination string, including the \0 byte, then no data is copied and
      the function returns NULL.  Otherwise, this function copies n bytes
      from source into dst, including the \0, and returns a pointer to the
      dst string.  This function is intended to replace all unsafe uses
      of strncpy in the code base, since strncpy does *not* guarantee that
      the buffer terminates with a \0.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      03d777f3
  7. 16 9月, 2009 1 次提交
  8. 02 9月, 2009 1 次提交
  9. 07 8月, 2009 1 次提交
  10. 05 8月, 2009 1 次提交
    • M
      Extend the ESX URL to habdle ports and GSX · 10a4e969
      Matthias Bolte 提交于
      * src/esx/esx_driver.c src/esx/esx_vi.[ch] src/esx/esx_vmx.[ch]:
        adds version checking for GSX 2.0, allows to pass a specific port
        for the connection and also add a new specific gsx scheme for
        easier connections to GSX hosts
      10a4e969
  11. 27 7月, 2009 1 次提交
    • M
      ESX driver accept VI API version 4.0 · 84255632
      Matthias Bolte 提交于
      * src/esx/esx_driver.c src/esx/esx_vi.c src/esx/esx_vi.h
        src/esx/esx_vmx.c src/esx/esx_vmx.h: extend the VI API version checks
        to accept version 4.0 and takes care of the virtualHW.version change
        from 4 to 7.
      84255632
  12. 24 7月, 2009 1 次提交
    • M
      First version of the driver for VMWare ESX · e2aeee68
      Matthias Bolte 提交于
      * src/esx/esx_*.[ch]: the driver, uses a remote minimal SOAP client
        to talk to the VI services on ESX nodes.
      * configure.in include/libvirt/virterror.h src/Makefile.am src/driver.h
        src/libvirt.c src/virterror.c: glue in the new driver
      e2aeee68