1. 03 11月, 2017 6 次提交
  2. 26 10月, 2017 1 次提交
    • J
      qemu: Add pause-before-switchover migration capability · 6addde24
      Jiri Denemark 提交于
      This new capability enables a pause before device state serialization so
      that we can finish all block jobs without racing with the end of the
      migration. The pause is indicated by "pre-switchover" state. Once we're
      done QEMU enters "device" migration state.
      
      This patch just defines the new capability and QEMU migration states and
      their mapping to our job states.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      6addde24
  3. 23 10月, 2017 2 次提交
  4. 20 10月, 2017 6 次提交
  5. 19 10月, 2017 4 次提交
    • M
      qemu-ns: Detect /dev/* mount point duplicates better · 4f157072
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1495511
      
      When creating new /dev for domain ran in namespace we try to
      preserve all sub-mounts of /dev. Well, not quite all. For
      instance if /dev/foo/bar and /dev/foo are both mount points, only
      /dev/foo needs preserving. /dev/foo/bar is preserved with it too.
      Now, to identify such cases like this one STRPREFIX() is used.
      That is not good enough. While it works for [/dev/foo/bar;
      /dev/foo] case, it fails for [/dev/prefix; /dev/prefix2] where
      the strings share the same prefix but are in fact two different
      paths. The solution is to use STRSKIP().
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      4f157072
    • J
      Move qemuCheckCCWS390AddressSupport to qemu_domain · 5ec76b0c
      Ján Tomko 提交于
      Let it be reused in qemu_domain_address.
      5ec76b0c
    • P
      qemu: send allowReboot in migration cookie · e859da6f
      Pavel Hrdina 提交于
      We need to send allowReboot in the migration cookie to ensure the same
      behavior of the virDomainSetLifecycleAction() API on the destination.
      
      Consider this scenario:
      
          1. On the source the domain is started with:
              <on_poweroff>destroy</on_poweroff>
              <on_reboot>restart</on_reboot>
              <on_crash>destroy</on_crash>
      
          2. User calls an API to set "destroy" for <on_reboot>:
              <on_poweroff>destroy</on_poweroff>
              <on_reboot>destroy</on_reboot>
              <on_crash>destroy</on_crash>
      
          3. The guest is migrated to a different host
      
          4a. Without the allowReboot in the migration cookie the QEMU
              process on destination would be started with -no-reboot
              which would prevent using the virDomainSetLifecycleAction() API
              for the rest of the guest lifetime.
      
          4b. With the allowReboot in the migration cookie the QEMU process
              on destination is started without -no-reboot like it was started
              on the source host and the virDomainSetLifecycleAction() API
              continues to work.
      
      The following patch adds a QEMU implementation of the
      virDomainSetLifecycleAction() API and that implementation disallows
      using the API if all actions are set to "destroy" because we add
      "-no-reboot" on the QEMU command line.  Changing the lifecycle action
      is in this case pointless because the QEMU process is always terminated.
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      e859da6f
    • P
      qemu: move detection whether to use -no-reboot to qemu_domain · a9d637e7
      Pavel Hrdina 提交于
      This will be used later on in implementation of new API
      virDomainSetLifecycleAction().  In order to use it, we need to store
      the value in status XML to not lose the information if libvirtd is
      restarted.
      
      If some guest was started by old libvirt where it was not possible
      to change the lifecycle action for running guest, we can safely
      detect it based on the current actions from the status XML.
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      a9d637e7
  6. 17 10月, 2017 2 次提交
    • J
      qemu: Fix CPU model broken by older libvirt · 6a6f6b91
      Jiri Denemark 提交于
      When libvirt older than 3.9.0 reconnected to a running domain started by
      old libvirt it could have messed up the expansion of host-model by
      adding features QEMU does not support (such as cmt). Thus whenever we
      reconnect to a running domain, revert to an active snapshot, or restore
      a saved domain we need to check the guest CPU model and remove the
      CPU features unknown to QEMU. We can do this because we know the domain
      was successfully started, which means the CPU did not contain the
      features when libvirt started the domain.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1495171Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
      6a6f6b91
    • P
      util: storagefile: Add helpers to check presence of backing store · 0a294a8e
      Peter Krempa 提交于
      Add helpers that will simplify checking if a backing file is valid or
      whether it has backing store. The helper virStorageSourceIsBacking
      returns true if the given virStorageSource is a valid backing store
      member. virStorageSourceHasBacking returns true if the virStorageSource
      has a backing store child.
      
      Adding these functions creates a central points for further refactors.
      0a294a8e
  7. 12 10月, 2017 1 次提交
  8. 06 10月, 2017 1 次提交
  9. 05 10月, 2017 5 次提交
  10. 28 9月, 2017 1 次提交
    • J
      qemu: Introduce qemuDomainPrepareDiskSource · 5c09486c
      John Ferlan 提交于
      Introduce a function to setup any TLS needs for a disk source.
      
      If there's a configuration or other error setting up the disk source
      for TLS, then cause the domain startup to fail.
      
      For VxHS, follow the chardevTLS model where if the src->haveTLS hasn't
      been configured, then take the system/global cfg->haveTLS setting for
      the storage source *and* mark that we've done so via the tlsFromConfig
      setting in storage source.
      
      Next, if we are using TLS, then generate an alias into a virStorageSource
      'tlsAlias' field that will be used to create the TLS object and added to
      the disk object in order to link the two together for QEMU.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      5c09486c
  11. 27 9月, 2017 1 次提交
    • P
      qemu: domain: Extract common clearing of VM private data · 3685e2dd
      Peter Krempa 提交于
      VM private data is cleared when the VM is turned off and also when the
      VM object is being freed. Some of the clearing code was duplicated.
      Extract it to a separate function.
      
      This also removes the now unnecessary function
      qemuDomainClearPrivatePaths.
      3685e2dd
  12. 26 9月, 2017 2 次提交
  13. 22 9月, 2017 2 次提交
  14. 21 9月, 2017 6 次提交