1. 08 12月, 2010 1 次提交
    • E
      openvz: convert popen to virCommand · bfd6267b
      Eric Blake 提交于
      popen must be matched with pclose (not fclose), or it will leak
      resources.  Furthermore, it is a lousy interface when it comes to
      signal handling.  We're much better off using our decent command
      wrapper.  Note that virCommand guarantees that VIR_FREE(outbuf) is
      both required and safe to call, whether virCommandRun succeeded or
      failed.
      
      * src/openvz/openvz_conf.c (openvzLoadDomains, openvzGetVEID):
      Replace popen with virCommand usage.
      bfd6267b
  2. 17 11月, 2010 1 次提交
    • S
      deprecate fclose() and introduce VIR_{FORCE_}FCLOSE() · 7b7cb1ec
      Stefan Berger 提交于
      Similarly to deprecating close(), I am now deprecating fclose() and
      introduce VIR_FORCE_FCLOSE() and VIR_FCLOSE(). Also, fdopen() is replaced with
      VIR_FDOPEN().
      
      Most of the files are opened in read-only mode, so usage of
      VIR_FORCE_CLOSE() seemed appropriate. Others that are opened in write
      mode already had the fclose()<  0 check and I converted those to
      VIR_FCLOSE()<  0.
      
      I did not find occurrences of possible double-closed files on the way.
      7b7cb1ec
  3. 10 11月, 2010 1 次提交
    • S
      bye to close(), welcome to VIR_(FORCE_)CLOSE() · 60ae1c34
      Stefan Berger 提交于
      Using automated replacement with sed and editing I have now replaced all
      occurrences of close() with VIR_(FORCE_)CLOSE() except for one, of
      course. Some replacements were straight forward, others I needed to pay
      attention. I hope I payed attention in all the right places... Please
      have a look. This should have at least solved one more double-close
      error.
      60ae1c34
  4. 20 10月, 2010 1 次提交
    • E
      vcpu: support maxvcpu in domain_conf · 4617eedf
      Eric Blake 提交于
      Although this patch adds a distinction between maximum vcpus and
      current vcpus in the XML, the values should be identical for all
      drivers at this point.  Only in subsequent per-driver patches will
      a distinction be made.
      
      In general, virDomainGetInfo should prefer the current vcpus.
      
      * src/conf/domain_conf.h (_virDomainDef): Adjust vcpus to unsigned
      short, to match virDomainGetInfo limit.  Add maxvcpus member.
      * src/conf/domain_conf.c (virDomainDefParseXML)
      (virDomainDefFormat): parse and print out vcpu details.
      * src/xen/xend_internal.c (xenDaemonParseSxpr)
      (xenDaemonFormatSxpr): Manage both vcpu numbers, and require them
      to be equal for now.
      * src/xen/xm_internal.c (xenXMDomainConfigParse)
      (xenXMDomainConfigFormat): Likewise.
      * src/phyp/phyp_driver.c (phypDomainDumpXML): Likewise.
      * src/openvz/openvz_conf.c (openvzLoadDomains): Likewise.
      * src/openvz/openvz_driver.c (openvzDomainDefineXML)
      (openvzDomainCreateXML, openvzDomainSetVcpusInternal): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainDumpXML, vboxDomainDefineXML):
      Likewise.
      * src/xenapi/xenapi_driver.c (xenapiDomainDumpXML): Likewise.
      * src/xenapi/xenapi_utils.c (createVMRecordFromXml): Likewise.
      * src/esx/esx_vmx.c (esxVMX_ParseConfig, esxVMX_FormatConfig):
      Likewise.
      * src/qemu/qemu_conf.c (qemuBuildSmpArgStr)
      (qemuParseCommandLineSmp, qemuParseCommandLine): Likewise.
      * src/qemu/qemu_driver.c (qemudDomainHotplugVcpus): Likewise.
      * src/opennebula/one_conf.c (xmlOneTemplate): Likewise.
      4617eedf
  5. 02 9月, 2010 2 次提交
    • E
      openvz: use virAsprintf to avoid large stacks · a9afbf4f
      Eric Blake 提交于
      * src/openvz/openvz_conf.c (openvzLocateConfFile): Alter
      signature.
      (openvzGetVPSUUID, openvzSetDefinedUUID)
      (openvzWriteVPSConfigParam, openvzReadVPSConfigParam)
      (openvzCopyDefaultConfig): Adjust callers.
      a9afbf4f
    • E
      openvz: formatting cleanups · c6e8e26e
      Eric Blake 提交于
      * src/openvz/openvz_conf.c: Whitespace fixes.
      * src/openvz/openvz_driver.c: Likewise.
      c6e8e26e
  6. 07 5月, 2010 1 次提交
    • E
      build: update gnulib · 062a25f0
      Eric Blake 提交于
      81 patches to gnulib, picks up several new syntax checks.
      
      * .gnulib: Update to latest.
      * .x-sc_prohibit_always_true_header_tests: New file.
      * bootstrap.conf (gnulib_modules): Add sched.
      * src/util/processinfo.c (includes): <sched.h> is now guaranteed.
      * src/network/bridge_driver.c (includes): Drop useless
      <strings.h>.
      * src/openvz/openvz_conf.c (includes): Likewise.
      * src/openvz/openvz_driver.c (includes): Likewise.
      * src/phyp/phyp_driver.c (includes): Likewise.
      * src/qemu/qemu_driver.c (includes): Likewise.
      * src/uml/uml_driver.c (includes): Likewise.
      062a25f0
  7. 14 4月, 2010 1 次提交
    • C
      Fix build of openvz on RHEL-5. · 29045d88
      Chris Lalancette 提交于
      When building libvirt on RHEL-5, I saw this error:
      
      cc1: warnings being treated as errors
      openvz/openvz_conf.c: In function 'openvzGetVPSUUID':
      openvz/openvz_conf.c:835: warning: 'saveptr' may be used uninitialized in this function
      make[3]: *** [libvirt_driver_openvz_la-openvz_conf.lo] Error 1
      
      gcc in RHEL-5 gets upset about this usage of strtok_r (even though
      it is perfectly valid).  Just set *saveptr to NULL at the
      start to quiet it down.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      29045d88
  8. 06 4月, 2010 1 次提交
  9. 01 4月, 2010 2 次提交
  10. 26 2月, 2010 1 次提交
  11. 19 2月, 2010 1 次提交
    • Y
      fix multiple veth problem for OpenVZ · ead3410f
      Yuji NISHIDA 提交于
      Fix multiple veth problem.
      NETIF setting was overwritten after first CT because any CT could not be
      found by name.
      * src/openvz/openvz_conf.c src/openvz/openvz_conf.h: add the
        openvzGetVEID lookup function
      * src/openvz/openvz_driver.c: use it in openvzDomainSetNetwork()
      ead3410f
  12. 18 2月, 2010 1 次提交
  13. 17 2月, 2010 1 次提交
  14. 09 2月, 2010 2 次提交
  15. 05 1月, 2010 1 次提交
  16. 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
  17. 11 11月, 2009 2 次提交
    • D
      Implmentation of new APIs to checking state/persistence of objects · cabc2cc9
      Daniel P. Berrange 提交于
      This implements the virConnectIsSecure, virConnectIsEncrypted,
      virDomainIsPersistent, virDomainIsActive, virNetworkIsActive,
      virNetworkIsPersistent, virStoragePoolIsActive,
      virStoragePoolIsPersistent, virInterfaceIsActive APIs in
      (nearly) all drivers. Exceptions are:
      
       phyp: missing domainIsActive/Persistent
       esx: missing domainIsPersistent
       opennebula: missing domainIsActive/Persistent
      
      * src/remote/remote_protocol.x: Define remote wire ABI for newly
        added APIs.
      * daemon/remote_dispatch*.h: Re-generated from remote_protocol.x
      * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/network/bridge_driver.c,
        src/opennebula/one_driver.c, src/openvz/openvz_conf.c,
        src/openvz/openvz_driver.c, src/phyp/phyp_driver.c,
        src/remote/remote_driver.c, src/storage/storage_driver.c,
        src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c,
        src/xen/xen_driver.c, src/xen/xen_driver.h, src/xen/xen_inotify.c,
        src/xen/xen_inotify.h: Implement all the new APIs where possible
      cabc2cc9
    • D
      Various fixes following a code review · 52147a04
      Daniel Veillard 提交于
      * src/libvirt.c src/lxc/lxc_conf.c src/lxc/lxc_container.c
        src/lxc/lxc_controller.c src/node_device/node_device_hal.c
        src/openvz/openvz_conf.c src/qemu/qemu_driver.c
        src/qemu/qemu_monitor_text.c src/remote/remote_driver.c
        src/storage/storage_backend_disk.c src/storage/storage_driver.c
        src/util/logging.c src/xen/sexpr.c src/xen/xend_internal.c
        src/xen/xm_internal.c: Steve Grubb <sgrubb@redhat.com> sent a code
        review and those are the fixes correcting the problems
      52147a04
  18. 10 11月, 2009 2 次提交
    • D
      Add reference counting on virDomainObjPtr objects · a340f913
      Daniel P. Berrange 提交于
      Add reference counting on the virDomainObjPtr objects. With the
      forthcoming asynchronous QEMU monitor, it will be neccessary to
      release the lock on virDomainObjPtr while waiting for a monitor
      command response. It is neccessary to ensure one thread can't
      delete a virDomainObjPtr while another is waiting. By introducing
      reference counting threads can make sure objects they are using
      are not accidentally deleted while unlocked.
      
      * src/conf/domain_conf.h, src/conf/domain_conf.c: Add
        virDomainObjRef/Unref APIs, remove virDomainObjFree
      * src/openvz/openvz_conf.c: replace call to virDomainObjFree
        with virDomainObjUnref
      a340f913
    • M
      Add missing OOM error checks, reports and cleanups · 790f0b30
      Matthias Bolte 提交于
      790f0b30
  19. 29 10月, 2009 1 次提交
    • D
      Convert virDomainObjListPtr to use a hash of domain objects · a3adcce7
      Daniel P. Berrange 提交于
      The current virDomainObjListPtr object stores domain objects in
      an array. This means that to find a particular objects requires
      O(n) time, and more critically acquiring O(n) mutex locks.
      
      The new impl replaces the array with a virHashTable, keyed off
      UUID. Finding a object based on UUID is now O(1) time, and only
      requires a single mutex lock. Finding by name/id is unchanged
      in complexity.
      
      In changing this, all code which iterates over the array had
      to be updated to use a hash table iterator function callback.
      Several of the functions which were identically duplicating
      across all drivers were pulled into domain_conf.c
      
      * src/conf/domain_conf.h, src/conf/domain_conf.c: Change
        virDomainObjListPtr to use virHashTable. Add a initializer
        method virDomainObjListInit, and rename virDomainObjListFree
        to virDomainObjListDeinit, since its not actually freeing
        the container, only its contents. Also add some convenient
        methods virDomainObjListGetInactiveNames,
        virDomainObjListGetActiveIDs and virDomainObjListNumOfDomains
        which can be used to implement the correspondingly named
        public API entry points in drivers
      * src/libvirt_private.syms: Export new methods from domain_conf.h
      * src/lxc/lxc_driver.c, src/opennebula/one_driver.c,
        src/openvz/openvz_conf.c, src/openvz/openvz_driver.c,
        src/qemu/qemu_driver.c, src/test/test_driver.c,
        src/uml/uml_driver.c, src/vbox/vbox_tmpl.c: Update all code
        to deal with hash tables instead of arrays for domains
      a3adcce7
  20. 23 9月, 2009 1 次提交
    • 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
  21. 21 9月, 2009 1 次提交
    • D
      Move OpenVZ driver to src/openvz/ · 229c5c9b
      Daniel P. Berrange 提交于
      * src/openvz_conf.c, src/openvz_conf.h, src/openvz_driver.c,
        src/openvz_driver.h: Move to src/openvz/
      * src/Makefile.am, src/libvirt.c: Adjust for changed paths
      229c5c9b
  22. 09 9月, 2009 1 次提交
  23. 07 9月, 2009 1 次提交
  24. 05 9月, 2009 1 次提交
  25. 04 9月, 2009 1 次提交
  26. 11 8月, 2009 1 次提交
  27. 03 6月, 2009 2 次提交
  28. 24 3月, 2009 1 次提交
  29. 29 1月, 2009 1 次提交
    • J
      error-reporting calls using VIR_ERR_NO_MEMORY: use virReportOOMError instead · bc18a91f
      Jim Meyering 提交于
      * src/uml_conf.c (VIR_FROM_THIS): Define to VIR_FROM_UML.
      * src/xs_internal.c (VIR_FROM_THIS): Define to VIR_FROM_XEN.
      * src/xml.c (VIR_FROM_THIS): Define to VIR_FROM_XML.
      * src/stats_linux.c (VIR_FROM_THIS): Define to VIR_FROM_STATS_LINUX.
      * src/datatypes.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
      * src/lxc_conf.c (VIR_FROM_THIS): Define to VIR_FROM_LXC.
      * src/libvirt.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
      * src/node_device_conf.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
      * src/openvz_conf.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
      * src/openvz_driver.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
      * src/conf.c (VIR_FROM_THIS): Define to VIR_FROM_CONF.
      Note: this loses config_filename:config_lineno diagnostics,
      but that's ok.
      * src/node_device.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
      * src/sexpr.c (VIR_FROM_THIS): Define to VIR_FROM_SEXPR.
      * po/POTFILES.in: remove src/sexpr.c and src/lxc_conf.c
      bc18a91f
  30. 16 1月, 2009 1 次提交
  31. 23 12月, 2008 1 次提交
  32. 22 12月, 2008 1 次提交
    • J
      make NUMA-initialization code more portable and more robust · d010b689
      Jim Meyering 提交于
      qemudCapsInitNUMA and umlCapsInitNUMA were identical, so this change
      factors them into a new function, virCapsInitNUMA, and puts it in
      nodeinfo.c.
      
      In addition to factoring out the duplicates, this change also
      adjusts that function definition (along with its macros) so
      that it works with Fedora 9's numactl version 1, and makes it
      so the code will work even if someone builds the kernel with
      CONFIG_NR_CPUS > 4096.
      
      Finally, also perform this NUMA initialization for the lxc
      and openvz drivers.
      
      * src/nodeinfo.c: Include <stdint.h>, <numa.h> and "memory.h".
      (virCapsInitNUMA): Rename from qemudCapsInitNUMA and umlCapsInitNUMA.
      (NUMA_MAX_N_CPUS): Define depending on NUMA API version.
      (n_bits, MASK_CPU_ISSET): Define, adjust, use uint64 rather than long.
      * src/nodeinfo.h: Include "capabilities.h".
      (virCapsInitNUMA): Declare it.
      * examples/domain-events/events-c/Makefile.am:
      * src/Makefile.am: Add $(NUMACTL_CFLAGS) and $(NUMACTL_LIBS) to various
      compile/link-related variables.
      * src/qemu_conf.c: Include "nodeinfo.h".
      (qemudCapsInitNUMA): Remove duplicate code.  Adjust caller.
      * src/uml_conf.c (umlCapsInitNUMA): Likewise.
      Include "nodeinfo.h".
      * src/lxc_conf.c: Include "nodeinfo.h".
      (lxcCapsInit): Perform NUMA initialization here, too.
      * src/openvz_conf.c (openvzCapsInit): And here.
      Include "nodeinfo.h".
      * src/libvirt_sym.version.in: Add virCapsInitNUMA so that libvirtd
      can link to this function.
      d010b689
  33. 18 12月, 2008 1 次提交
  34. 11 12月, 2008 1 次提交
    • J
      avoid format string warnings · 79892762
      Jim Meyering 提交于
      * src/openvz_conf.c (openvzGetNodeCPUs): Add "%s" arg before _(...).
      * src/uml_driver.c (umlDomainBlockPeek): Likewise.
      79892762