1. 24 11月, 2017 6 次提交
  2. 23 11月, 2017 1 次提交
    • P
      qemu: domain: Don't call namespace setup for storage already accessed by vm · 3746a38e
      Peter Krempa 提交于
      When doing block commit we need to allow write for members of the
      backing chain so that we can commit the data into them.
      
      qemuDomainDiskChainElementPrepare was used for this which since commit
      786d8d91 calls qemuDomainNamespaceSetupDisk which has very adverse
      side-effects, namely it relabels the nodes to the same label it has in
      the main namespace. This was messing up permissions for the commit
      operation since its touching various parts of a single backing chain.
      
      Since we are are actually not introducing new images at that point add a
      flag for qemuDomainDiskChainElementPrepare which will refrain from
      calling to the namespace setup function.
      
      Calls from qemuDomainSnapshotCreateSingleDiskActive and
      qemuDomainBlockCopyCommon do introduce new members all calls from
      qemuDomainBlockCommit do not, so the calls are anotated accordingly.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1506072
      3746a38e
  3. 14 11月, 2017 2 次提交
  4. 13 11月, 2017 2 次提交
  5. 08 11月, 2017 1 次提交
  6. 07 11月, 2017 1 次提交
  7. 03 11月, 2017 7 次提交
    • A
      Remove backslash alignment attempts · 3e7db8d3
      Andrea Bolognani 提交于
      Right-aligning backslashes when defining macros or using complex
      commands in Makefiles looks cute, but as soon as any changes is
      required to the code you end up with either distractingly broken
      alignment or unnecessarily big diffs where most of the changes
      are just pushing all backslashes a few characters to one side.
      
      Generated using
      
        $ git grep -El '[[:blank:]][[:blank:]]\\$' | \
          grep -E '*\.([chx]|am|mk)$$' | \
          while read f; do \
            sed -Ei 's/[[:blank:]]*[[:blank:]]\\$/ \\/g' "$f"; \
          done
      Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
      3e7db8d3
    • P
      qemu: domain: skip chain detection to end of backing chain · a92c4f75
      Peter Krempa 提交于
      When a user provides the backing chain, we will not need to re-detect
      all the backing stores again, but should move to the end of the user
      specified chain. Additionally if a user provides a full terminated chain
      we should not attempt any further detection.
      a92c4f75
    • P
      qemu: domain: Prepare TLS data for the whole backing chain · b0a46b60
      Peter Krempa 提交于
      Iterate through the backing chain when setting up TLS for disks.
      b0a46b60
    • P
      qemu: domain: Remove pointless alias check · beb1661f
      Peter Krempa 提交于
      When attaching the disks, aliases are always generated.
      beb1661f
    • P
      d5658773
    • P
      qemu: domain: Extract setup for disk source secrets · e53a42f0
      Peter Krempa 提交于
      Separate it so that it deals only with single virStorageSource, so that
      it can later be reused for full backing chain support.
      
      Two aliases are passed since authentication is more relevant to the
      'storage backend' whereas encryption is more relevant to the protocol
      layer. When using node names, the aliases will be different.
      e53a42f0
    • P
      qemu: domain: Simplify using DAC permissions of top of backing chain · 2b757b96
      Peter Krempa 提交于
      qemuDomainGetImageIds and qemuDomainStorageFileInit are helpful when
      trying to access a virStorageSource from the qemu driver since they
      figure out the correct uid and gid for the image.
      
      When accessing members of a backing chain the permissions for the top
      level would be used. To allow using specific permissions per backing
      chain level but still allow inheritance from the parent of the chain we
      need to add a new parameter to the image ID APIs.
      2b757b96
  8. 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
  9. 23 10月, 2017 2 次提交
  10. 20 10月, 2017 6 次提交
  11. 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
  12. 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
  13. 12 10月, 2017 1 次提交
  14. 06 10月, 2017 1 次提交
  15. 05 10月, 2017 3 次提交