1. 20 10月, 2017 1 次提交
  2. 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
  3. 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
  4. 12 10月, 2017 1 次提交
  5. 06 10月, 2017 1 次提交
  6. 05 10月, 2017 5 次提交
  7. 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
  8. 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
  9. 26 9月, 2017 2 次提交
  10. 22 9月, 2017 2 次提交
  11. 21 9月, 2017 7 次提交
  12. 18 9月, 2017 2 次提交
  13. 14 9月, 2017 1 次提交
    • P
      qemu: Remove support for legacy block jobs · 2350d101
      Peter Krempa 提交于
      Block job QMP commands with underscores rather than dashes were never
      released in upstream qemu, (they were added, but modified in the same
      release [1]), but a certain distro managed to backport the version in the
      middle.
      
      The change also slightly modified semantics for the abort command, which
      made us have a lot of code which was only ever present in certain
      downstream distros.
      
      Clean the upstream code from the legacy cruft and support only the
      upstream implementations.
      
      [1] See qemu commit v1.0-2176-gdb58f9c060
      Reviewed-by: NEric Blake <eblake@redhat.com>
      2350d101
  14. 13 9月, 2017 1 次提交
    • J
      qemu: Clean up qemuDomainSecretPrepare · 23706c17
      John Ferlan 提交于
      No need to pass a @driver parameter since all that's done is deref
      the @cfg especially since the only caller can just pass an already
      referenced @cfg.
      
      Also, looks like commit id '0298531b' at one time had a different
      name for the API, so I took the liberty of fixing the comments too
      since I would already be updating them for the @cfg variable.
      23706c17
  15. 07 9月, 2017 7 次提交
  16. 05 9月, 2017 2 次提交