1. 19 6月, 2015 1 次提交
  2. 13 6月, 2015 1 次提交
  3. 11 6月, 2015 1 次提交
  4. 04 6月, 2015 3 次提交
    • P
      libxl: Don't remove vcpu pin definition in libxlDomainCleanup · 8db0f438
      Peter Krempa 提交于
      The vCPU pinning definition gets removed when the domain definition is
      being freed later. If there is no next configuration it would remove the
      configured pinning.
      8db0f438
    • P
      qemu: libxl: vcpupin: Don't reset pinning when pinning to all pcpus · a02a161b
      Peter Krempa 提交于
      In the pre-NUMA ages pinning a vCPU to all pCPUs was eaqual to deleting
      the pinning info. Now it does not entirely work that way. Pinning a vCPU
      to all pCPUs might be a desired operation. Additionally removal of the
      pinning will result into using the default pinning information at the
      next boot which might be different from all vcpus.
      
      This patch removes the false assumption that we should remove the
      pinning after pinning to all vCPUs and tweaks the documentation for
      virsh.
      
      A later patch will implement a new flag for the virDomainPinVcpuFlags
      API that will allow to remove the pinning in a sane way.
      a02a161b
    • J
      maint: remove incorrect apostrophes from 'its' · 12b949df
      Ján Tomko 提交于
      12b949df
  5. 03 6月, 2015 3 次提交
  6. 01 6月, 2015 1 次提交
    • R
      libxl: load on FreeBSD · f57842ec
      Roman Bogorodskiy 提交于
      The libxl tries to check if it's running in dom0 by parsing
      /proc/xen/capabilities and if that fails it doesn't load.
      
      There's no procfs interface in Xen on FreeBSD, so this check always
      fails.
      
      In addition to checking procfs, check if /dev/xen/xenstored, that's enough to
      check if we're running in dom0 in FreeBSD case.
      f57842ec
  7. 29 5月, 2015 4 次提交
  8. 21 5月, 2015 1 次提交
  9. 18 5月, 2015 1 次提交
    • L
      conf: make virNodeDevCapData an official type · ffc40b63
      Laine Stump 提交于
      For some reason a union (_virNodeDevCapData) that had only been
      declared inside the toplevel struct virNodeDevCapsDef was being used
      as an argument to functions all over the place. Since it was only a
      union, the "type" attribute wasn't necessarily sent with it. While
      this works, it just seems wrong.
      
      This patch creates a toplevel typedef for virNodeDevCapData and
      virNodeDevCapDataPtr, making it a struct that has the type attribute
      as a member, along with an anonymous union of everything that used to
      be in union _virNodeDevCapData. This way we only have to change the
      following:
      
        s/union _virNodeDevCapData */virNodeDevCapDataPtr /
      
      and
      
        s/caps->type/caps->data.type/
      
      This will make me feel less guilty when adding functions that need a
      pointer to one of these.
      ffc40b63
  10. 16 5月, 2015 1 次提交
    • J
      libxl: provide impl for nodeGetSecurityModel · 99a42f3c
      Jim Fehlig 提交于
      Currently, the libxl driver does not support any security drivers.
      When the qemu driver has no security driver configued,
      nodeGetSecurityModel succeeds but returns an empty virSecurityModel
      object.  Do the same in the libxl driver instead of reporting
      
      this function is not supported by the connection driver:
      virNodeGetSecurityModel
      99a42f3c
  11. 13 5月, 2015 1 次提交
  12. 06 5月, 2015 1 次提交
    • J
      libxl: Resolve Coverity RESOURCE_LEAK · 11b91679
      John Ferlan 提交于
      The returned socks from virNetSocketNewListenTCP needs to be VIR_FREE'd
      as well as seach of the Close/Unref on all the socks[i] that is
      already done
      11b91679
  13. 05 5月, 2015 1 次提交
  14. 30 4月, 2015 1 次提交
  15. 25 4月, 2015 4 次提交
  16. 24 4月, 2015 1 次提交
  17. 22 4月, 2015 1 次提交
  18. 21 4月, 2015 4 次提交
  19. 17 4月, 2015 4 次提交
  20. 02 4月, 2015 1 次提交
    • J
      libxl: fix dom0 balloon logic · d685c0f9
      Jim Fehlig 提交于
      Recent testing on large memory systems revealed a bug in the Xen xl
      tool's freemem() function.  When autoballooning is enabled, freemem()
      is used to ensure enough memory is available to start a domain,
      ballooning dom0 if necessary.  When ballooning large amounts of memory
      from dom0, freemem() would exceed its self-imposed wait time and
      return an error.  Meanwhile, dom0 continued to balloon.  Starting the
      domain later, after sufficient memory was ballooned from dom0, would
      succeed.  The libvirt implementation in libxlDomainFreeMem() suffers
      the same bug since it is modeled after freemem().
      
      In the end, the best place to fix the bug on the Xen side was to
      slightly change the behavior of libxl_wait_for_memory_target().
      Instead of failing after caller-provided wait_sec, the function now
      blocks as long as dom0 memory ballooning is progressing.  It will return
      failure only when more memory is needed to reach the target and wait_sec
      have expired with no progress being made.  See xen.git commit fd3aa246.
      There was a dicussion on how this would affect other libxl apps like
      libvirt
      
      http://lists.xen.org/archives/html/xen-devel/2015-03/msg00739.html
      
      If libvirt containing this patch was build against a Xen containing
      the old libxl_wait_for_memory_target() behavior, libxlDomainFreeMem()
      will fail after 30 sec and domain creation will be terminated.
      Without this patch and with old libxl_wait_for_memory_target() behavior,
      libxlDomainFreeMem() does not succeed after 30 sec, but returns success
      anyway.  Domain creation continues resulting in all sorts of fun stuff
      like cpu soft lockups in the guest OS.  It was decided to properly fix
      libxl_wait_for_memory_target(), and if anything improve the default
      behavior of apps using the freemem reference impl in xl.
      
      xl was patched to accommodate the change in libxl_wait_for_memory_target()
      with xen.git commit 883b30a0.  This patch does the same in the libxl
      driver.  While at it, I changed the logic to essentially match
      freemem() in $xensrc/tools/libxl/xl_cmdimpl.c.  It was a bit cleaner
      IMO and will make it easier to spot future, potentially interesting
      divergences.
      d685c0f9
  21. 27 3月, 2015 1 次提交
  22. 25 3月, 2015 3 次提交
    • J
      libxl: remove per-domain libxl_ctx · a5bf06ba
      Jim Fehlig 提交于
      Although needed in the Xen 4.1 libxl days, there is no longer any
      benefit to having per-domain libxl_ctx.  On the contrary, their use
      makes the code unecessarily complicated and prone to deadlocks under
      load.  As suggested by the libxl maintainers, use a single libxl_ctx
      as a handle to libxl instead of per-domain ctx's.
      
      One downside to using a single libxl_ctx is there are no longer
      per-domain log files for log messages emitted by libxl.  Messages
      for all domains will be sent to /var/log/libvirt/libxl/libxl-driver.log.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      a5bf06ba
    • J
      libxl: make libxlDomainFreeMem static · 6728645a
      Jim Fehlig 提交于
      libxlDomainFreeMem() is only used in libxl_domain.c and thus should
      be declared static.  While at it, change the signature to take a
      libxl_ctx instead of libxlDomainObjPrivatePtr, since only the
      libxl_ctx is needed.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      6728645a
    • J
      libxl: remove unnecessary libxlDomainEventsRegister · 1cca1d25
      Jim Fehlig 提交于
      This function now only enables domain death events.  Simply call
      libxl_evenable_domain_death() instead of an unnecessary wrapper.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      1cca1d25