1. 26 10月, 2017 5 次提交
    • J
      qemu: Enabled pause-before-switchover migration capability · 32c29f10
      Jiri Denemark 提交于
      QEMU identified a race condition between the device state serialization
      and the end of storage migration. Both QEMU and libvirt needs to be
      updated to fix this.
      
      Our migration work flow is modified so that after starting the migration
      we to wait for QEMU to enter "pre-switchover", "postcopy-active", or
      "completed" state. Once there, we cancel all block jobs as usual. But if
      QEMU is in "pre-switchover", we need to resume the migration afterwards
      and wait again for the real end (either "postcopy-active" or
      "completed" state).
      
      Old QEMU will just enter either "postcopy-active" or "completed"
      directly, which is still correctly handled even by new libvirt. The
      "pre-switchover" state will only be entered if QEMU supports it and the
      pause-before-switchover capability was enabled. Thus all combinations of
      libvirt and QEMU will work, but only new QEMU with new libvirt will
      avoid the race condition.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      32c29f10
    • 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
    • J
      b5ec33b8
    • P
      docs: Drop mention that WWN for disks must be unique · 8587bb45
      Peter Krempa 提交于
      For multipath disks it might be useful to have the same WWN for multiple
      disks. It's the users choice to do so. Since we dropped the check that
      disallows using duplicate WWNs drop the docs as well.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1464975
      8587bb45
    • D
      vbox: Read runtime RDP port and handle autoport · 55223c2b
      Dawid Zamirski 提交于
      VirutalBox has a IVRDEServerInfo structure available that
      gives the effective runtime port that the VM is using when it's
      running. This is useful when the "TCP/Ports" VBox property was set to
      port range (e.g. via autoport = "yes" or via VBoxManage) in which
      case it would be impossible to get the "active" port otherwise.
      55223c2b
  2. 25 10月, 2017 2 次提交
    • D
      vbox: Make autoport set RDP port range. · 380815f8
      Dawid Zamirski 提交于
      Originally autoport in vbox driver was setting the port to default value
      (3389) which caused multiple VM instances use the same port. Since
      libvirt XML does not allow to set port ranges, this patch changes the
      "autoport" behavior to set VBox's "TCP/Ports" property to an arbitrary
      port range (3389-3689) to avoid that issue.
      380815f8
    • D
      vbox: Remove old unflexible macros · 32845fd6
      Dawid Zamirski 提交于
      The VBOX_SESSION_OPEN/CLOSE macros are only called in
      _vboxDomainSnapshotRestore and they are unflexible because:
      
      * assume the caller will have variable named "data"
      * can only create Write lock type
      
      As per above, it's not that hard to simply use the VBOX API directly.
      32845fd6
  3. 24 10月, 2017 3 次提交
  4. 23 10月, 2017 16 次提交
  5. 22 10月, 2017 2 次提交
    • M
      conf: Parse user supplied aliases · c14f1ed2
      Michal Privoznik 提交于
      If driver that is calling the parse supports user supplied
      aliases, they can be parsed even for inactive XMLs. However, to
      avoid any clashes with aliases that libvirt generates, the user
      ones have to have "ua-" prefix.
      
      Note, that some drivers don't have notion of device aliases at
      all. Also, in order to support user supplied aliases some extra
      checks need to be done (e.g. during hotplug). Therefore we can't
      just enable this feature for all the drivers. Thus we need a flag
      that drivers set to tell parsing code that they can handle user
      supplied device aliases.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      c14f1ed2
    • M
      qemu_alias: Be more tolerant if alias don't follow our format · ad30f069
      Michal Privoznik 提交于
      When assigning alias to a device we usually iterate over other
      devices of its kind trying to find next index. We do this by
      stripping down the prefix and then parsing number at the end,
      Usually, if the prefix doesn't match the one we are expecting, we
      just continue with next iteration. Except for couple of
      functions: qemuGetNextChrDevIndex(),
      qemuAssignDeviceRedirdevAlias() and qemuAssignDeviceShmemAlias().
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      ad30f069
  6. 21 10月, 2017 1 次提交
  7. 20 10月, 2017 11 次提交