1. 16 8月, 2019 7 次提交
  2. 09 8月, 2019 11 次提交
    • D
      remote: in per-driver daemons ensure that state initialize succeeds · 4ce29411
      Daniel P. Berrangé 提交于
      When running in libvirtd, we are happy for any of the drivers to simply
      skip their initialization in virStateInitialize, as other drivers are
      still potentially useful.
      
      When running in per-driver daemons though, we want the daemon to abort
      startup if the driver cannot initialize itself, as the daemon will be
      useless without it.
      Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      4ce29411
    • J
      Revert "tpm: Check TPM XML device configuration changes after edit" · d8326cb8
      Ján Tomko 提交于
      Redefining a domain via virDomainDefineXML should not give different results
      based on an already existing definition.
      
      Also, there's a crasher somewhere in the code:
      https://bugzilla.redhat.com/show_bug.cgi?id=1739338
      
      This reverts commit 94b3aa55Signed-off-by: NJán Tomko <jtomko@redhat.com>
      Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
      d8326cb8
    • J
      qemu: Pass correct qemuCaps to virDomainDeviceDefPostParse · b449c270
      Jiri Denemark 提交于
      Since qemuDomainDeviceDefPostParse 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.
      
      QEMU capabilities lookup (via domainPostParseDataAlloc callback) is
      hidden inside virDomainDeviceDefPostParseOne with no way to pass
      qemuCaps to virDomainDeviceDef* functions. This patch fixes all
      remaining paths leading to virDomainDeviceDefPostParse.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      b449c270
    • J
      qemu: Pass correct qemuCaps to virDomainDefParseNode · 577a1f98
      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.
      
      Several general snapshot and checkpoint APIs were lazily passing NULL as
      the parseOpaque pointer instead of letting their callers pass the right
      data. This patch fixes all paths leading to virDomainDefParseNode.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      577a1f98
    • J
      qemu: Pass correct qemuCaps to virDomainDefPostParse · c90fb5a8
      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 virDomainDefPostParse.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      c90fb5a8
    • J
      qemu: Pass correct qemuCaps to virDomainDefCopy · bbcfa07b
      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.
      
      Several general functions from domain_conf.c were lazily passing NULL as
      the parseOpaque pointer instead of letting their callers pass the right
      data. This patch fixes all paths leading to virDomainDefCopy to do the
      right thing.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      bbcfa07b
    • 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
  3. 07 8月, 2019 2 次提交
  4. 06 8月, 2019 6 次提交
  5. 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
  6. 26 7月, 2019 1 次提交
  7. 25 7月, 2019 7 次提交