You need to sign in or sign up before continuing.
  1. 04 9月, 2013 6 次提交
    • J
      libxl: Remove unnecessary driver locking · 21bdbb82
      Jim Fehlig 提交于
      Now that most fields of libxlDriverPrivate struct are immutable
      or self-locking, there is no need to acquire the driver lock in
      much of the libxl driver.
      21bdbb82
    • J
      libxl: Introduce libxlDriverConfig object · d9f19c30
      Jim Fehlig 提交于
      The libxlDriverPrivate struct contains an variety of data with
      varying access needs. Similar to the QEMU and LXC drivers,
      move all the static config data into a dedicated libxlDriverConfig
      object. The only locking requirement is to hold the driver lock
      while obtaining an instance of libxlDriverConfig. Once a reference
      is held on the config object, it can be used completely lockless
      since it is immutable.
      d9f19c30
    • J
      libxl: libxl: Use per-domain ctx in libxlMakeDomCreateInfo · e1f67c90
      Jim Fehlig 提交于
      libxlMakeDomCreateInfo() uses the driver-wide libxl ctx when
      it would be more appropriate to use the per-domain ctx
      associated with the domain.  Switch to using the per-domain
      libxl ctx.
      e1f67c90
    • J
      libxl: Add libxl_version_info to libxlDriverPrivate · cb0d49af
      Jim Fehlig 提交于
      libxl version info is static data as far as the libxl driver
      is concerned, so retrieve this info when the driver is initialized
      and stash it in the libxlDriverPrivate object.  Subsequently use
      the stashed info instead of repeatedly calling libxl_get_version_info().
      cb0d49af
    • J
      libxl: Introduce libxl_domain.[ch] · 12315cd7
      Jim Fehlig 提交于
      Create libxl_domain.[ch] and move all functions operating on
      libxlDomainObjPrivate to these files.  This will be useful for
      future patches that e.g. add job support for libxlDomainObjPrivate.
      12315cd7
    • J
      libxl: Move detection of autoballoon to libxl_conf · c9d5432d
      Jim Fehlig 提交于
      Detecting whether or not to autoballoon is configuration related,
      so move the code to libxl_conf.
      c9d5432d
  2. 21 8月, 2013 1 次提交
    • J
      libxl: Resolve possible NULL dereference · 6aea4ebc
      John Ferlan 提交于
      If we reached cleanup: prior to allocating cpus, it was possible that
      'nr_nodes' had a value, but cpus was NULL leading to a possible NULL
      deref. Add a 'cpus' as an end condition to for loop
      6aea4ebc
  3. 20 8月, 2013 1 次提交
    • J
      libxl: implement NUMA capabilities reporting · 0192fd67
      Jim Fehlig 提交于
      From: Dario Faggioli <dario.faggioli@citrix.com>
      
      Starting from Xen 4.2, libxl has all the bits and pieces in place
      for retrieving an adequate amount of information about the host
      NUMA topology. It is therefore possible, after a bit of shuffling,
      to arrange those information in the way libvirt wants to present
      them to the outside world.
      
      Therefore, with this patch, the <topology> section of the host
      capabilities is properly populated, when running on Xen, so that
      we can figure out whether or not we're running on a NUMA host,
      and what its characteristics are.
      
      [raistlin@Zhaman ~]$ sudo virsh --connect xen:/// capabilities
      <capabilities>
        <host>
          <cpu>
          ....
          <topology>
            <cells num='2'>
              <cell id='0'>
                <memory unit='KiB'>6291456</memory>
                <cpus num='8'>
                  <cpu id='0' socket_id='1' core_id='0' siblings='0-1'/>
                  <cpu id='1' socket_id='1' core_id='0' siblings='0-1'/>
                  <cpu id='2' socket_id='1' core_id='1' siblings='2-3'/>
                  <cpu id='3' socket_id='1' core_id='1' siblings='2-3'/>
                  <cpu id='4' socket_id='1' core_id='9' siblings='4-5'/>
                  <cpu id='5' socket_id='1' core_id='9' siblings='4-5'/>
                  <cpu id='6' socket_id='1' core_id='10' siblings='6-7'/>
                  <cpu id='7' socket_id='1' core_id='10' siblings='6-7'/>
                </cpus>
              </cell>
              <cell id='1'>
                <memory unit='KiB'>6881280</memory>
                <cpus num='8'>
                  <cpu id='8' socket_id='0' core_id='0' siblings='8-9'/>
                  <cpu id='9' socket_id='0' core_id='0' siblings='8-9'/>
                  <cpu id='10' socket_id='0' core_id='1' siblings='10-11'/>
                  <cpu id='11' socket_id='0' core_id='1' siblings='10-11'/>
                  <cpu id='12' socket_id='0' core_id='9' siblings='12-13'/>
                  <cpu id='13' socket_id='0' core_id='9' siblings='12-13'/>
                  <cpu id='14' socket_id='0' core_id='10' siblings='14-15'/>
                  <cpu id='15' socket_id='0' core_id='10' siblings='14-15'/>
                </cpus>
              </cell>
            </cells>
          </topology>
        </host>
        ....
      0192fd67
  4. 17 8月, 2013 1 次提交
    • J
      libxl: refactor capabilities code · aeab0243
      Jim Fehlig 提交于
      Cleanup the libxl capabilities code to be a bit more extensible,
      splitting out the creation of host and guest capabilities.  This
      should make it easier to implement additional capabilities in the
      future, such as NUMA topology reporting.
      aeab0243
  5. 15 8月, 2013 1 次提交
  6. 31 7月, 2013 1 次提交
  7. 24 7月, 2013 1 次提交
    • S
      libxl: Correctly initialize vcpu bitmap · 65026d72
      Stefan Bader 提交于
      The avail_vcpu bitmap has to be allocated before it can be used (using
      the maximum allowed value for that). Then for each available VCPU the
      bit in the mask has to be set (libxl_bitmap_set takes a bit position
      as an argument, not the number of bits to set).
      
      Without this, I would always only get one VCPU for guests created
      through libvirt/libxl.
      Signed-off-by: NStefan Bader <stefan.bader@canonical.com>
      65026d72
  8. 11 7月, 2013 1 次提交
  9. 10 7月, 2013 1 次提交
  10. 24 6月, 2013 2 次提交
    • J
      libxl: support qdisk backend · c3021302
      Jim Fehlig 提交于
      libxl supports the LIBXL_DISK_BACKEND_QDISK disk backend, where qemu
      is used to provide the disk backend.  This patch simply maps the
      existing <driver name='qemu'/> to LIBXL_DISK_BACKEND_QDISK.
      c3021302
    • J
      libxl: Fix disk format error message · 05bcf6f0
      Jim Fehlig 提交于
      Specifying an unsupported disk format with the tap driver resulted in
      a less than helpful error message
      
      error: Failed to start domain test-hvm
      error: internal error libxenlight does not support disk driver qed
      
      Change the message to state that the qed format is not supported by
      the tap driver, e.g.
      
      error: Failed to start domain test-hvm
      error: internal error libxenlight does not support disk format qed
      with disk driver tap
      
      While at it, check for unsupported formats in the other driver
      backends.
      05bcf6f0
  11. 22 6月, 2013 1 次提交
    • J
      libxl: Allow libxl to set NIC devid · ba64b971
      Jim Fehlig 提交于
      libxl contains logic to determine an appropriate devid for new devices
      that do not specify one in their configuration.  For all device types
      except NICs, the libxl driver allows libxl to determine devid.  Do the
      same for NICs.
      ba64b971
  12. 21 6月, 2013 1 次提交
  13. 14 6月, 2013 1 次提交
  14. 12 6月, 2013 1 次提交
  15. 21 5月, 2013 1 次提交
  16. 09 5月, 2013 1 次提交
  17. 30 4月, 2013 1 次提交
    • J
      libxl: Fix double-dispose of libxl domain config · 80f01915
      Jim Fehlig 提交于
      libxlBuildDomainConfig() was disposing the libxl_domain_config object
      on error, only to have it disposed again by libxlBuildDomainConfig()'s
      caller, which resulted in a segfault.  Leave disposing of the config
      object to it's owner.
      80f01915
  18. 05 4月, 2013 2 次提交
    • P
      virCaps: get rid of defaultConsoleTargetType callback · 482e5f15
      Peter Krempa 提交于
      This patch refactors various places to allow removing of the
      defaultConsoleTargetType callback from the virCaps structure.
      
      A new console character device target type is introduced -
      VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_NONE - to mark that no type was
      specified in the XML. This type is at the end converted to the standard
      VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SERIAL. Other types that are
      different from this default have to be processed separately in the
      device post parse callback.
      482e5f15
    • P
      virCaps: get rid of macPrefix field · 46becc18
      Peter Krempa 提交于
      Use the virDomainXMLConf structure to hold this data and tweak the code
      to avoid semantic change.
      
      Without configuration the KVM mac prefix is used by default. I chose it
      as it's in the privately administered segment so it should be usable for
      any purposes.
      46becc18
  19. 06 3月, 2013 1 次提交
  20. 21 2月, 2013 1 次提交
  21. 08 2月, 2013 1 次提交
  22. 16 1月, 2013 1 次提交
  23. 21 12月, 2012 5 次提交
  24. 19 12月, 2012 2 次提交
  25. 13 12月, 2012 1 次提交
    • J
      Support network boot for HVM guests in libxl · f6b5ed5e
      Jim Fehlig 提交于
      The libxl driver ignored boot devices in the domain config,
      preventing PXE booting HVM domains.  This patch accounts for
      user-specified boot devices when building the libxl domain
      configuration.
      f6b5ed5e
  26. 07 12月, 2012 1 次提交
    • J
      Convert libxl driver to Xen 4.2 · dfa1e1dd
      Jim Fehlig 提交于
      Based on a patch originally authored by Daniel De Graaf
      
        http://lists.xen.org/archives/html/xen-devel/2012-05/msg00565.html
      
      This patch converts the Xen libxl driver to support only Xen >= 4.2.
      Support for Xen 4.1 libxl is dropped since that version of libxl is
      designated 'technology preview' only and is incompatible with Xen 4.2
      libxl.  Additionally, the default toolstack in Xen 4.1 is still xend,
      for which libvirt has a stable, functional driver.
      dfa1e1dd
  27. 10 11月, 2012 1 次提交
    • V
      capabilities: defaultConsoleTargetType can depend on architecture · b1c88c14
      Viktor Mihajlovski 提交于
      For S390, the default console target type cannot be of type 'serial'.
      It is necessary to at least interpret the 'arch' attribute
      value of the os/type element to produce the correct default type.
      
      Therefore we need to extend the signature of defaultConsoleTargetType
      to account for architecture. As a consequence all the drivers
      supporting this capability function must be updated.
      
      Despite the amount of changed files, the only change in behavior is
      that for S390 the default console target type will be 'virtio'.
      
      N.B.: A more future-proof approach could be to to use hypervisor
      specific capabilities to determine the best possible console type.
      For instance one could add an opaque private data pointer to the
      virCaps structure (in case of QEMU to hold capsCache) which could
      then be passed to the defaultConsoleTargetType callback to determine
      the console target type.
      Seems to be however a bit overengineered for the use case...
      Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
      b1c88c14
  28. 02 11月, 2012 1 次提交