1. 09 8月, 2019 5 次提交
    • J
      qemu: Pass correct qemuCaps to virDomainDefParseString · 6e7c33da
      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 virDomainDefParseString.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      6e7c33da
    • J
      qemu: Pass qemuCaps to qemuMigrationAnyPrepareDef · b900f738
      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 qemuMigrationAnyPrepareDef.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      b900f738
    • J
      qemu: Pass qemuCaps to qemuDomainSaveImageOpen · fd60aefe
      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 qemuDomainSaveImageOpen.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      fd60aefe
    • 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
  2. 07 8月, 2019 2 次提交
  3. 06 8月, 2019 6 次提交
  4. 29 7月, 2019 6 次提交
    • E
      backup: Prevent snapshots and checkpoints at same time · 7efe930e
      Eric Blake 提交于
      Earlier patches mentioned that the initial implementation will prevent
      snapshots and checkpoints from being used on the same domain at once.
      However, the actual restriction is done in this separate patch to make
      it easier to lift that restriction via a revert, when we are finally
      ready to tackle that integration in the future.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      7efe930e
    • E
      backup: Wire up qemu checkpoint commands over QMP · 3a204b03
      Eric Blake 提交于
      Time to actually issue the QMP transactions that create and delete
      persistent checkpoints, resolving TODOs intentionally left earlier in
      the series.  For create, we only need one transaction: inside, we
      visit all disks affected by the checkpoint, and create a new enabled
      bitmap, as well as disabling the bitmap of the first ancestor
      checkpoint (if any) that also had a bitmap.  For deletion, we need
      multiple QMP calls: for each disk, if there is an ancestor checkpoint
      with a bitmap, then the bitmap must be merged (including activating
      the ancestor bitmap if the leaf node changes), all before deleting the
      bitmap from the checkpoint being removed.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      3a204b03
    • 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
    • E
      backup: qemu: Add directory for tracking checkpoints · 63b9c21d
      Eric Blake 提交于
      This is similar to the existing directory for snapshots; the domain
      will save one xml file per checkpoint, for reloading on the next
      libvirtd restart.  Fortunately, since checkpoints mandate RNG
      validation, we are assured that the checkpoint name will be usable as
      a file name (no abuse of '../escape' as a checkpoint name, for
      example).
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      63b9c21d
    • P
      qemu: Add -blockdev support for block commit job · 3f93884a
      Peter Krempa 提交于
      Introduce the handler for finalizing a block commit and active bloc
      commit job which will allow to use it with blockdev.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      3f93884a
    • P
      qemu: Add -blockdev support for block pull job · 1bf38082
      Peter Krempa 提交于
      Introduce the handler for finalizing a block pull job which will allow
      to use it with blockdev.
      
      This patch also contains some additional machinery which is required to
      store all the relevant job data in the status XML which will also be
      reused with other block job types.
      Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      1bf38082
  5. 26 7月, 2019 1 次提交
  6. 25 7月, 2019 10 次提交
  7. 19 7月, 2019 2 次提交
  8. 18 7月, 2019 7 次提交
  9. 15 7月, 2019 1 次提交