1. 14 9月, 2015 1 次提交
  2. 09 9月, 2015 1 次提交
  3. 26 8月, 2015 1 次提交
  4. 24 8月, 2015 1 次提交
  5. 03 8月, 2015 1 次提交
    • M
      qemu: Remove double unlock for domains · c43c661f
      Martin Kletzander 提交于
      The virDomainObjListRemove() function unlocks a domain that it's given
      due to legacy code.  And because of that code, which should be
      refactored, that last virObjectUnlock() cannot be just removed.  So
      instead, lock it right back for qemu for now.  All calls to
      qemuDomainRemoveInactive() are followed by code that unlocks the domain
      again, plus the domain should be locked during qemuDomainObjEndJob(), so
      the right place to lock it is right after virDomainObjListRemove().
      
      The only place where this would cause a problem is the autodestroy
      callback, so we need to get another reference there and uref+unlock it
      afterwards.  Luckily, returning NULL from that function doesn't mean an
      error, and only means that it doesn't need to be unlocked anymore.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      c43c661f
  6. 31 7月, 2015 2 次提交
  7. 14 7月, 2015 2 次提交
    • P
      qemu: process: Improve update of maximum balloon state at startup · c212e0c7
      Peter Krempa 提交于
      In commit 641a145d I've added code that
      resets the balloon memory value to full size prior to resuming the vCPUs
      since the size certainly was not reduced at that point.
      
      Since qemuProcessStart is used also in code paths with already booted
      up guests (migration, save/restore) the assumption is not entirely true
      since the guest might already been running before.
      
      This patch adds a function that queries the monitor rather than using
      the full size since a balloon event would not be reissued in case we are
      recovering a saved migration state.
      
      Additionally the new function is used also when reconnecting to a VM
      after libvirtd restart since we might have missed a few balloon events
      while libvirtd was not running.
      c212e0c7
    • J
      nodeinfo: Add sysfs_prefix to nodeGetCPUCount · f1a43a0f
      John Ferlan 提交于
      Add the sysfs_prefix argument to the call to allow for setting the
      path for tests to something other than SYSFS_SYSTEM_PATH.
      f1a43a0f
  8. 13 7月, 2015 1 次提交
    • M
      qemuProcessHandleMigrationStatus: Update migration status more frequently · 45cc2fca
      Michal Privoznik 提交于
      After Jirka's migration patches libvirt is listening on migration
      events from qemu instead of actively polling on the monitor. There is,
      however, a little regression (introduced in 6d2edb6a). The
      problem is, the current status of migration job is updated in
      qemuProcessHandleMigrationStatus if and only if migration job was
      started. But eventually every asynchronous job may result in
      migration. Therefore, since this job is not strictly a
      migration job, internal state was not updated and later checks failed:
      
        virsh # save fedora22 /tmp/fedora22_ble.save
        error: Failed to save domain fedora22 to /tmp/fedora22_ble.save
        error: operation failed: domain save job: is not active
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      45cc2fca
  9. 10 7月, 2015 7 次提交
  10. 19 6月, 2015 3 次提交
  11. 05 6月, 2015 1 次提交
  12. 04 6月, 2015 1 次提交
    • P
      qemu: process: Update current balloon state to maximum on vm startup · 641a145d
      Peter Krempa 提交于
      After libvirt issues the balloon resize command, the current balloon
      size needs to be changed to the maximum memory size since the vCPUs were
      not started and thus the balloon driver could not return the memory.
      
      Since GetXMLDesc and other APIs return the balloon size without updating
      it in case they are not able to obtain the job and the memory balloon
      does not support the asynchronous event the sizing might be incorrect.
      641a145d
  13. 03 6月, 2015 3 次提交
    • P
      qemu: process: Refactor setup of memory ballooning · f4c67f07
      Peter Krempa 提交于
      Since the monitor code now supports ullongs when setting balloon size,
      drop the legacy code with overflow checking.
      
      Additionally the comment mentioning that the job is treated as a sync
      job does not make sense any more since the monitor is entered
      asynchronously.
      f4c67f07
    • P
      conf: Refactor emulatorpin handling · ee3da892
      Peter Krempa 提交于
      Store the emulator pinning cpu mask as a pure virBitmap rather than the
      virDomainPinDef since it stores only the bitmap and refactor
      qemuDomainPinEmulator to do the same operations in a much saner way.
      
      As a side effect virDomainEmulatorPinAdd and virDomainEmulatorPinDel can
      be removed since they don't add any value.
      ee3da892
    • P
      qemu: Fix possible crash in qemuProcessSetVcpuAffinities · ff4c42ed
      Peter Krempa 提交于
      In case when <vcpu ... cpuset=""> is not specified, the vcpupin array is
      not guaranteed to be allocated to def->vcpus. This would cause a crash
      for TCG since it does not report thread IDs for vCPUs.
      ff4c42ed
  14. 21 5月, 2015 2 次提交
  15. 20 5月, 2015 1 次提交
  16. 15 5月, 2015 1 次提交
  17. 29 4月, 2015 1 次提交
  18. 28 4月, 2015 5 次提交
    • J
      qemu: Remove need for qemuMonitorIOThreadInfoFree · b515339f
      John Ferlan 提交于
      Replace with just VIR_FREE.
      b515339f
    • J
      qemu: qemuProcessDetectIOThreadPIDs invert checks · 69b16513
      John Ferlan 提交于
      If we received zero iothreads from the monitor, but were perhaps
      expecting to receive something, then the code was skipping the check
      to ensure what's in the monitor matches our expectations.  So invert
      the checks to check that what we get back matches expectations and
      then check there are zero iothreads returned.
      69b16513
    • J
      qemu: Remove need for qemuDomainParseIOThreadAlias · 4c2ca566
      John Ferlan 提交于
      Rather than have a separate routine to parse the alias of an iothread
      returned from qemu in order to get the iothread_id value, parse the alias
      when returning and just return the iothread_id in qemuMonitorIOThreadInfoPtr
      
      This set of patches removes the function, changes the "char *name" to
      "unsigned int" and handles all the fallout.
      4c2ca566
    • J
      Move iothreadspin information into iothreadids · b266486f
      John Ferlan 提交于
      Remove the iothreadspin array from cputune and replace with a cpumask
      to be stored in the iothreadids list.
      
      Adjust the test output because our printing goes in order of the iothreadids
      list now.
      b266486f
    • J
      qemu: Use domain iothreadids to IOThread's 'thread_id' · 8d4614a5
      John Ferlan 提交于
      Add 'thread_id' to the virDomainIOThreadIDDef as a means to store the
      'thread_id' as returned from the live qemu monitor data.
      
      Remove the iothreadpids list from _qemuDomainObjPrivate and replace with
      the new iothreadids 'thread_id' element.
      
      Rather than use the default numbering scheme of 1..number of iothreads
      defined for the domain, use the iothreadid's list for the iothread_id
      
      Since iothreadids list keeps track of the iothread_id's, these are
      now used in place of the many places where a for loop would "know"
      that the ID was "+ 1" from the array element.
      
      The new tests ensure usage of the <iothreadid> values for an exact number
      of iothreads and the usage of a smaller number of <iothreadid> values than
      iothreads that exist (and usage of the default numbering scheme).
      8d4614a5
  19. 27 4月, 2015 1 次提交
  20. 26 4月, 2015 2 次提交
    • P
      qemu: Connect to guest agent after channel hotplug · a03e2d3a
      Peter Krempa 提交于
      If a user hot-attaches the guest agent channel libvirt would ignore it
      until the restart of libvirtd or shutdown/destroy and start of the VM
      itself.
      
      This patch adds code that opens or closes the guest agent connection
      according to the state of the guest agent channel according to
      connect/disconnect events.
      
      To allow opening the channel from the event handler qemuConnectAgent
      needed to be exported.
      a03e2d3a
    • P
      qemu: agent: Differentiate errors when the agent channel was hotplugged · e1c04108
      Peter Krempa 提交于
      When the guest agent channel gets hotplugged to a VM, libvirt would
      still report that "QEMU guest agent is not configured" rather than
      stating that the connection was not established yet.
      
      Currently the code won't be able to connect to the agent after hotplug
      but that will change in a later patch.
      
      As the qemuFindAgentConfig() helper is quite helpful in this case move
      it to a more usable place and export it.
      e1c04108
  21. 24 4月, 2015 2 次提交