1. 10 11月, 2010 2 次提交
    • M
      xencapstest: Don't fail when Xen is installed · c2e9e907
      Matthias Bolte 提交于
      xencapstest calls xenHypervisorMakeCapabilitiesInternal with conn == NULL
      which calls xenDaemonNodeGetTopology with conn == NULL when a recent
      enough Xen was detected (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA).
      But xenDaemonNodeGetTopology insists in having conn != NULL and fails,
      because it expects to be able to talk to an actual xend.
      
      We cannot do that in a 'make check' test. Therefore, only call the xend
      subdriver function when conn isn't NULL.
      
      Reported by Andy Howell and Jim Fehlig.
      c2e9e907
    • 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
  2. 09 11月, 2010 1 次提交
  3. 01 11月, 2010 1 次提交
    • E
      xen: work with ia64 MAX_VIRT_CPUS of 64 · dc27e089
      Eric Blake 提交于
      * src/xen/xen_hypervisor.c (MAX_VIRT_CPUS): Move...
      * src/xen/xen_driver.h (MAX_VIRT_CPUS): ...so all xen code can see
      same value.
      * src/xen/xend_internal.c (sexpr_to_xend_domain_info)
      (xenDaemonDomainGetVcpusFlags, xenDaemonParseSxpr)
      (xenDaemonFormatSxpr): Work if MAX_VIRT_CPUS is 64 on a platform
      where long is 64-bits.
      * src/xen/xm_internal.c (xenXMDomainConfigParse)
      (xenXMDomainConfigFormat): Likewise.
      dc27e089
  4. 20 10月, 2010 1 次提交
    • E
      vcpu: remove dead xen code · b0137887
      Eric Blake 提交于
      * src/xen/xen_driver.h (xenUnifiedDriver): Remove now-unused
      domainGetMaxVcpus, domainSetVcpus.
      * src/xen/proxy_internal.c (xenProxyDriver): Likewise.
      * src/xen/xen_hypervisor.c (xenHypervisorDriver): Likewise.
      * src/xen/xen_inotify.c (xenInotifyDriver): Likewise.
      * src/xen/xend_internal.c (xenDaemonDriver)
      (xenDaemonDomainSetVcpus): Likewise.
      * src/xen/xm_internal.c (xenXMDriver, xenXMDomainSetVcpus):
      Likewise.
      * src/xen/xs_internal.c (xenStoreDriver): Likewise.
      b0137887
  5. 18 8月, 2010 1 次提交
    • D
      xen: Fix scheduler setting problems · 1dcd5ab9
      Daniel Veillard 提交于
      Doing `virsh schedinfo rhel5u3 --cap 65535' the hypervisor does the
      call, but does not change the value nor raise an error. Best is just to
      consider it's not in the allowed values. The problem is that the error
      won't be output since the xend driver will then be called and raise an
      error
      
          error: this function is not supported by the hypervisor: unsupported
          in xendConfigVersion < 4
      
      which will override the useful information from
      xenUnifiedDomainSetSchedulerParameters(). So best is to also invert the
      order in which the xen sub-drivers are called.
      
      * src/xen/xen_hypervisor.c: mark 65535 cap value as out of bound
      * src/xen/xen_hypervisor.c: reverse the order of the calls to the xen
        sub drivers to get the error message if needed
      1dcd5ab9
  6. 29 7月, 2010 1 次提交
    • C
      domain conf: Track <console> target type · 6b247552
      Cole Robinson 提交于
      All <console> devices now export a <target> type attribute. QEMU defaults
      to 'serial', UML defaults to 'uml, xen can be either 'serial' or 'xen'
      depending on fullvirt. Understandably there is lots of test fallout.
      
      This will be used to differentiate between a serial vs. virtio console for
      QEMU.
      Signed-off-by: NCole Robinson <crobinso@redhat.com>
      6b247552
  7. 06 4月, 2010 2 次提交
  8. 26 3月, 2010 1 次提交
    • D
      Implement virDomainUpdateDeviceFlags API in all drivers with media change · 6bb4986b
      Daniel P. Berrange 提交于
      To allow the new virDomainUpdateDeviceFlags() API to be universally
      used with all drivers, this patch adds an impl to all the current
      drivers which support CDROM or Floppy disk media change via the
      current virDomainAttachDeviceFlags API
      
      * src/qemu/qemu_driver.c, src/vbox/vbox_tmpl.c,
        src/xen/proxy_internal.c, src/xen/xen_driver.c,
        src/xen/xend_internal.c: Implement media change via the
        virDomainUpdateDeviceFlags API
      * src/xen/xen_driver.h, src/xen/xen_hypervisor.c,
        src/xen/xen_inotify.c, src/xen/xm_internal.c,
        src/xen/xs_internal.c: Stubs for Xen driver entry points
      6bb4986b
  9. 10 3月, 2010 1 次提交
  10. 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
  11. 09 2月, 2010 4 次提交
  12. 03 2月, 2010 2 次提交
  13. 28 1月, 2010 1 次提交
    • J
      Support Xen 4.0 sysctl version 7 · 3bd3d6b0
      Jim Fehlig 提交于
      xen-unstable c/s 20762 bumped XEN_SYSCTL_INTERFACE_VERSION to 7.  The
      interface change does not affect libvirt, other than xenHypervisorInit()
      failing since version 7 is not tried.
      
      The attached patch accommodates the upcoming Xen 4.0 release by checking
      for XEN_SYSCTL_INTERFACE_VERSION 7.  If found, it sets
      XEN_DOMCTL_INTERFACE_VERSION to 6, which is also new to Xen 4.0.
      3bd3d6b0
  14. 08 1月, 2010 1 次提交
    • J
      xen hypervisor: xen domctl version 6 · 98ea78b6
      Jim Fehlig 提交于
      xen-unstable c/s 20685 changed the domctl interface, adding a field to
      xen_domctl_getdomaininfo structure.  This additional field causes stack
      corruption in libvirt.  xen-unstable c/s 20711 rightly bumped the domctl
      interface version so it is at least possible to handle the new field.
      This change accounts for shr_pages field added to xen_domctl_getdomaininfo
      structure.
      98ea78b6
  15. 22 12月, 2009 1 次提交
    • O
      fix some error report when on remote access · 54f868c1
      Olivier Fourdan 提交于
      When querying about a domain from 0.3.3 (or RHEL 5.3) domain located
      on a 0.6.3 (RHEL-5) machine, the errors are not properly reported.
      This patch from Olivier Fourdan <ofourdan@redhat.com> , slightly
      modified to not change the semantic when the domain os details cannot
      be provided
      
      * src/xen/proxy_internal.c src/xen/xen_hypervisor.c: add some missing
        error reports
      54f868c1
  16. 15 11月, 2009 1 次提交
    • J
      Fix compilation of libvirt against xen-unstable · 8d567fbc
      Jim Fehlig 提交于
      * src/xen/xen_hypervisor.c: xen-unstable changeset 19788 removed
        MAX_VIRT_CPUS from public headers, breaking compilation of libvirt
        on -unstable.  Its semanitc was retained with XEN_LEGACY_MAX_VCPUS.
        Ensure MAX_VIRT_CPUS is defined accordingly.
      8d567fbc
  17. 12 11月, 2009 1 次提交
    • D
      Filter out stale domains from xenstore listing · 7c34bb26
      Daniel P. Berrange 提交于
      The xenstore database sometimes has stale domain IDs which are not
      present in the hypervisor anymore. Filter these out to avoid causing
      confusion
      
      * src/xen/xs_internal.c: Filter domain IDs against HV's list
      * src/xen/xen_hypervisor.h, src/xen/xen_hypervisor.c: Add new
        xenHypervisorHasDomain() method for checking ID validity
      7c34bb26
  18. 10 11月, 2009 1 次提交
  19. 04 11月, 2009 1 次提交
    • C
      Various error reporting fixes · 4c44cdcc
      Cole Robinson 提交于
      - Don't duplicate SystemError
      - Use proper error code in domain_conf
      - Fix a broken error call in qemu_conf
      - Don't use VIR_ERR_ERROR in security driver (isn't a valid code in this case)
      4c44cdcc
  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 xen driver code into src/xen/ directory · f7a107f7
      Daniel P. Berrange 提交于
      * src/Makefile.am, src/proxy_internal.c, src/proxy_internal.h
        src/sexpr.c, src/sexpr.h, src/xen_unified.c, src/xen_unified.h,
        src/xen_internal.c, src/xen_internal.h, src/xen_inotify.c,
        src/xen_inotify.h, src/xend_internal.c, src/xend_internal.h,
        src/xm_internal.c, src/xm_internal.h, src/xs_internal.c,
        src/xs_internal.h: Move to src/xen/ directory
      * proxy/Makefile.am, proxy/libvirt_proxy.c, src/Makefile.am,
        src/libvirt.c, tests/sexpr2xmltest.c, tests/statstest.c,
        tests/xencapstest.c, tests/xmconfigtest.c, tests/xml2sexprtest.c:
        Adapt to changed xen location
      * src/stats_linux.h, src/stats_linux.c: Remove xen specific block
        stats APIs
      * src/qemu_driver.c, src/uml_driver.c: Add missing sys/un.h include
        uncovered after change to stats_linux.h
      * src/xen/block_stats.h, src/xen/block_stats.c: Add xen specific
        block stats APIs
      f7a107f7
  22. 04 9月, 2009 1 次提交
  23. 11 8月, 2009 1 次提交
  24. 27 7月, 2009 3 次提交
    • D
      Fix crashes in Xen capabilities code · dd6cd7dd
      Daniel P. Berrange 提交于
      * src/xen_internal.c: Don't free memory now owned by the virCapsPtr
         structure
      * tests/testutilsxen.c: Fix up for change in internal API
      dd6cd7dd
    • D
      Fix typo in xen capabilities code · f055724b
      Daniel P. Berrange 提交于
      f055724b
    • M
      Add virCapsGuestMachine structure · 38fd207e
      Mark McLoughlin 提交于
      A subsequent commit will add a "canonical" field to this structure,
      this patch basically just prepares the way for that.
      
      The new type is added, along with virCapabilitiesAlloc/FreeMachines()
      helpers and a whole bunch of code to make the transition.
      
      One quirk is that virCapabilitiesAddGuestDomain() and
      virCapabilitiesAddGuest() take ownership of the machine list rather
      than duping it. This makes sense to avoid needless copying.
      
      * src/capabilities.h: add the virCapsGuestMachine struct and use it
        in virCapsGuestDomainInfo, add prototypes for new functions and
        update the AddGuest() prototypes
      
      * src/capabilities.c: add code for allocating and freeing the new
        type, change the machines parameter to AddGuest() etc.
      
      * src/libvirt_private.syms: export the new helpers
      
      * src/qemu_conf.c: update all the machine type code to use the new
        struct
      
      * src/xen_internal.c: ditto
      
      * tests/testutilsqemu.c: ditto
      38fd207e
  25. 16 6月, 2009 1 次提交
  26. 12 6月, 2009 1 次提交
  27. 08 5月, 2009 1 次提交
  28. 31 3月, 2009 1 次提交
  29. 06 2月, 2009 1 次提交
    • J
      remove remainder of offending strerror uses · bafd7389
      Jim Meyering 提交于
      * qemud/qemud.c (GET_CONF_STR): Use virStrerror, not strerror.
      * qemud/remote.c (remoteDispatchDomainBlockPeek): Likewise.
      (remoteDispatchDomainMemoryPeek, remoteDispatchAuthSaslInit): Likewise.
      (remoteDispatchAuthPolkit): Likewise.
      * src/lxc_container.c (lxcContainerAvailable): Likewise.
      * src/network_driver.c (networkStartNetworkDaemon): Likewise.
      (networkShutdownNetworkDaemon): Likewise.
      * src/qemu_conf.c (qemudExtractVersion, qemudNetworkIfaceConnect):
      * src/storage_conf.c (virStoragePoolLoadAllConfigs): Likewise.
      * src/storage_driver.c (storagePoolUndefine): Likewise.
      * src/uml_driver.c (umlStartup, umlStartVMDaemon): Likewise.
      * src/util.c (virFileReadAll): Likewise.
      * src/uuid.c (virUUIDGenerate): Likewise.
      * src/xen_internal.c (get_cpu_flags): Likewise.
      bafd7389
  30. 03 2月, 2009 1 次提交
    • J
      build: enable redundant-const check · dff21147
      Jim Meyering 提交于
      * Makefile.cfg (local-checks-to-skip): Remove sc_redundant_const.
      * src/lxc_controller.c: Remove redundant "const"(s).
      * src/storage_backend_fs.c: Likewise.
      * src/util.h: Likewise.
      * src/xen_internal.c: Likewise.
      * tests/qparamtest.c: Likewise.
      dff21147
  31. 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
  32. 23 1月, 2009 1 次提交