1. 15 11月, 2019 1 次提交
    • J
      Add API to change qemu agent response timeout · 95f5ac9a
      Jonathon Jongsma 提交于
      Some layered products such as oVirt have requested a way to avoid being
      blocked by guest agent commands when querying a loaded vm. For example,
      many guest agent commands are polled periodically to monitor changes,
      and rather than blocking the calling process, they'd prefer to simply
      time out when an agent query is taking too long.
      
      This patch adds a way for the user to specify a custom agent timeout
      that is applied to all agent commands.
      
      One special case to note here is the 'guest-sync' command. 'guest-sync'
      is issued internally prior to calling any other command. (For example,
      when libvirt wants to call 'guest-get-fsinfo', we first call
      'guest-sync' and then call 'guest-get-fsinfo').
      
      Previously, the 'guest-sync' command used a 5-second timeout
      (VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT), whereas the actual command that
      followed always blocked indefinitely
      (VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK). As part of this patch, if a
      custom timeout is specified that is shorter than
      5 seconds,  this new timeout is also used for 'guest-sync'. If there is
      no custom timeout or if the custom timeout is longer than 5 seconds, we
      will continue to use the 5-second timeout.
      Signed-off-by: NJonathon Jongsma <jjongsma@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      95f5ac9a
  2. 13 11月, 2019 1 次提交
    • J
      cpu_map: Drop pconfig from Icelake-Server CPU model · 9cd03f79
      Jiri Denemark 提交于
      The pconfig feature was enabled in QEMU by accident in 3.1.0. All other
      newer versions do not support it and it was removed from the
      Icelake-Server CPU model in QEMU.
      
      We don't normally change our CPU models even when QEMU does so to avoid
      breaking migrations between different versions of libvirt. But we can
      safely do so in this specific case. QEMU never supported enabling
      pconfig so any domain which was able to start has pconfig disabled.
      
      With a small compatibility hack which explicitly disables pconfig when
      CPU model equals Icelake-Server in migratable domain definition, only
      one migration scenario stays broken (and there's nothing we can do about
      it): from any host to a host with libvirt < 5.10.0 and QEMU > 3.1.0.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1749672Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      9cd03f79
  3. 12 11月, 2019 1 次提交
  4. 21 10月, 2019 3 次提交
  5. 15 10月, 2019 3 次提交
  6. 30 9月, 2019 2 次提交
  7. 27 9月, 2019 1 次提交
  8. 25 9月, 2019 2 次提交
  9. 16 9月, 2019 1 次提交
  10. 09 9月, 2019 1 次提交
  11. 06 9月, 2019 5 次提交
  12. 29 8月, 2019 1 次提交
  13. 21 8月, 2019 1 次提交
  14. 09 8月, 2019 2 次提交
    • J
      qemu: Pass qemuCaps to qemuDomainDefFormatBufInternal · 900c5952
      Jiri Denemark 提交于
      Since qemuDomainDefPostParse callback requires qemuCaps, we need to make
      sure it gets the capabilities stored in the domain's private data if the
      domain is running. Passing NULL may cause QEMU capabilities probing to
      be triggered in case QEMU binary changed in the meantime. When this
      happens while a running domain object is locked, QMP event delivered to
      the domain before QEMU capabilities probing finishes will deadlock the
      event loop.
      
      This patch fixes all paths leading to qemuDomainDefFormatBufInternal.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      900c5952
    • J
      qemu: Pass qemuCaps to qemuDomainDefCopy · a42f8895
      Jiri Denemark 提交于
      Since qemuDomainDefPostParse callback requires qemuCaps, we need to make
      sure it gets the capabilities stored in the domain's private data if the
      domain is running. Passing NULL may cause QEMU capabilities probing to
      be triggered in case QEMU binary changed in the meantime. When this
      happens while a running domain object is locked, QMP event delivered to
      the domain before QEMU capabilities probing finishes will deadlock the
      event loop.
      
      This patch fixes all paths leading to qemuDomainDefCopy.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      a42f8895
  15. 29 7月, 2019 2 次提交
    • E
      backup: qemu: Add helper API for looking up node name · e3a4b8f4
      Eric Blake 提交于
      Qemu bitmap operations require knowing the node name associated with
      the format layer (the qcow2 file); as upcoming patches will be
      grabbing that information frequently, make a helper function to access
      it.
      
      Another potential benefit of this function is that we have a single
      place where we could insert a QMP node-name scraping call if we don't
      currently know the node name, when -blockdev is not supported;
      however, the goal is that we hopefully don't ever have to do that
      because we instead scrape node names only at the point where they
      change.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      e3a4b8f4
    • E
      backup: qemu: Implement metadata tracking for checkpoint APIs · 5f4e0796
      Eric Blake 提交于
      A lot of this work heavily copies from the existing snapshot APIs.
      What's more, this patch is (intentionally) very similar to the
      checkpoint code just added in the test driver, to the point that qemu
      checkpoints are not fully usable in this patch, but it at least
      bisects and builds cleanly.  The separation between patches is done
      because the grunt work of saving and restoring XML and tracking
      relations between checkpoints is common to the test driver, while the
      later patch adding integration with QMP is specific to qemu.
      
      Also note that the interlocking to prevent checkpoints and snapshots
      from existing at the same time will be a separate patch, to make it
      easier to revert that restriction when we finally round out the design
      for supporting interaction between the two concepts.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      5f4e0796
  16. 18 7月, 2019 6 次提交
  17. 03 7月, 2019 1 次提交
  18. 21 6月, 2019 2 次提交
  19. 20 6月, 2019 1 次提交
  20. 19 6月, 2019 1 次提交
  21. 09 5月, 2019 2 次提交