1. 06 8月, 2019 2 次提交
  2. 30 7月, 2019 1 次提交
  3. 29 7月, 2019 11 次提交
    • J
      qemu: Fix KVM features with QEMU 4.1 · 4c62ed60
      Jiri Denemark 提交于
      Originally the names of the KVM CPU features were only used internally
      for looking up their CPUID bits. So we used "__kvm_" prefix for them to
      make sure the names do not collide with normal CPU features stored in
      our CPU map.
      
      But with QEMU 4.1 we check which features were enabled or disabled by a
      freshly started QEMU process using their names rather than their CPUID
      bits (mostly because of MSR features). Thus we need to change our made
      up internal names into the actual names used by QEMU.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Tested-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      4c62ed60
    • J
      cpu: Drop KVM_ from hyperv feature macros · 1ddf014f
      Jiri Denemark 提交于
      All the features are hyperv features even though they are provided by
      KVM with QEMU. The "KVM" part in the macro names does not make a lot of
      sense.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Tested-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      1ddf014f
    • J
      qemu: Prefer dashes for hyperv features · d99e8f01
      Jiri Denemark 提交于
      Starting with QEMU 4.1, we're using the canonical feature names on the
      command line and avoid aliases to prepare for possible deprecation of
      all aliases in QEMU. But we do so only for features from our CPU map,
      hyperv features defined in the code were unchanged and this patch fixes
      it. Some features use "hv-" prefix unconditionally because they were
      introduced recently enough to always support spelling with a dash.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Tested-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      d99e8f01
    • J
      qemu: Fix hyperv features with QEMU 4.1 · 0ccdd476
      Jiri Denemark 提交于
      Originally the names of the hyperv CPU features were only used
      internally for looking up their CPUID bits. So we used "__kvm_hv_"
      prefix for them to make sure the names do not collide with normal CPU
      features stored in our CPU map.
      
      But with QEMU 4.1 we check which features were enabled or disabled by a
      freshly started QEMU process using their names rather than their CPUID
      bits (mostly because of MSR features). Thus we need to change our made
      up internal names into the actual names used by QEMU. Most of the names
      are only used with QEMU 4.1 and newer and the reset was introduced with
      QEMU recently enough to already support spelling with "-". Thus we don't
      need to define them as "hv_*" with a translation to "hv-*" for new QEMU.
      
      Without this patch libvirt would mistakenly report all hyperv features
      as unavailable and refuse to start any domain using them with QEMU 4.1.
      Reported-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Tested-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      0ccdd476
    • 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: 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
    • 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
  4. 27 7月, 2019 5 次提交
  5. 26 7月, 2019 6 次提交
  6. 25 7月, 2019 15 次提交