1. 11 11月, 2016 2 次提交
    • P
      qemu: process: detect if dimm aliases are broken on reconnect · 93d9ff3d
      Peter Krempa 提交于
      Detect on reconnect to a running qemu VM whether the alias of a
      hotpluggable memory device (dimm) does not match the dimm slot number
      where it's connected to. This is necessary as qemu is actually
      considering the alias as machine ABI used to connect the backend object
      to the dimm device.
      
      This will require us to keep them consistent so that we can reliably
      restore them on migration. In some situations it was currently possible
      to create a mismatched configuration and qemu would refuse to restore
      the migration stream.
      
      To avoid breaking existing VMs we'll need to keep the old algorithm
      though.
      93d9ff3d
    • P
      conf: Allow specifying only the slot number for hotpluggable memory · 810e9a80
      Peter Krempa 提交于
      Simplify handling of the 'dimm' address element by allowing to specify
      the slot number only. This will allow libvirt to allocate slot numbers
      before starting qemu.
      810e9a80
  2. 10 11月, 2016 6 次提交
  3. 09 11月, 2016 5 次提交
  4. 08 11月, 2016 1 次提交
  5. 04 11月, 2016 3 次提交
  6. 03 11月, 2016 2 次提交
  7. 02 11月, 2016 5 次提交
  8. 28 10月, 2016 3 次提交
    • C
      qemu_driver: unlink new domain cfg file when rollback · 3b782ce5
      Chen Hanxiao 提交于
      If we failed to unlink old dom cfg file, we goto rollback.
      But inside rollback, we fogot to unlink the new dom cfg file.
      This patch fixes this issue.
      Signed-off-by: NChen Hanxiao <chenhanxiao@gmail.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      3b782ce5
    • M
      qemu: Minimalize global driver accesses · 65462b29
      Michal Privoznik 提交于
      Whilst working on another issue, I've noticed that in some
      functions we have a local @driver variable among with access to
      global @qemu_driver variable. This makes no sense.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      65462b29
    • N
      qemu: Fix crash during qemuStateCleanup · 97338eaa
      Nikolay Shirokovskiy 提交于
      Rather than waiting until we've free'd up all the resources, cause the
      'workerPool' thread pool to flush as soon as possible during stateCleanup.
      Otherwise, it's possible something waiting to run will SEGV such as is the
      case during race conditions of simultaneous exiting libvirtd and qemu process.
      Resolves the following crash:
      
      [1] crash backtrace: (bt is shortened a bit):
      
      0  0x00007ffff7282f2b in virClassIsDerivedFrom
         (klass=0xdeadbeef, parent=0x55555581d650) at util/virobject.c:169
      1  0x00007ffff72835fd in virObjectIsClass
         (anyobj=0x7fffd024f580, klass=0x55555581d650) at util/virobject.c:365
      2  0x00007ffff7283498 in virObjectLock
         (anyobj=0x7fffd024f580) at util/virobject.c:317
      3  0x00007ffff722f0a3 in virCloseCallbacksUnset
         (closeCallbacks=0x7fffd024f580, vm=0x7fffd0194db0,
          cb=0x7fffdf1af765 <qemuProcessAutoDestroy>)
         at util/virclosecallbacks.c:164
      4  0x00007fffdf1afa7b in qemuProcessAutoDestroyRemove
         (driver=0x7fffd00f3a60, vm=0x7fffd0194db0) at qemu/qemu_process.c:6365
      5  0x00007fffdf1adff1 in qemuProcessStop
         (driver=0x7fffd00f3a60, vm=0x7fffd0194db0, reason=VIR_DOMAIN_SHUTOFF_CRASHED,
          asyncJob=QEMU_ASYNC_JOB_NONE, flags=0)
         at qemu/qemu_process.c:5877
      6  0x00007fffdf1f711c in processMonitorEOFEvent
         (driver=0x7fffd00f3a60, vm=0x7fffd0194db0) at qemu/qemu_driver.c:4545
      7  0x00007fffdf1f7313 in qemuProcessEventHandler
         (data=0x555555832710, opaque=0x7fffd00f3a60) at qemu/qemu_driver.c:4589
      8  0x00007ffff72a84c4 in virThreadPoolWorker
         (opaque=0x555555805da0) at util/virthreadpool.c:167
      
      Thread 1 (Thread 0x7ffff7fb1880 (LWP 494472)):
      1  0x00007ffff72a7898 in virCondWait
         (c=0x7fffd01c21f8, m=0x7fffd01c21a0) at util/virthread.c:154
      2  0x00007ffff72a8a22 in virThreadPoolFree
         (pool=0x7fffd01c2160) at util/virthreadpool.c:290
      3  0x00007fffdf1edd44 in qemuStateCleanup ()
         at qemu/qemu_driver.c:1102
      4  0x00007ffff736570a in virStateCleanup ()
         at libvirt.c:807
      5  0x000055555556f991 in main (argc=1, argv=0x7fffffffe458) at libvirtd.c:1660
      97338eaa
  9. 27 10月, 2016 8 次提交
  10. 26 10月, 2016 5 次提交
    • G
      qemu: Add support for using AES secret for SCSI hotplug · 0701abcb
      Gema Gomez 提交于
      Support for virtio disks was added in commit id 'fceeeda2', but not for
      SCSI drives. Add the secret for the server when hotplugging a SCSI drive.
      No need to make any adjustments for unplug since that's handled during
      the qemuDomainDetachDiskDevice call to qemuDomainRemoveDiskDevice in
      the qemuDomainDetachDeviceDiskLive switch.
      
      Added a test to/for the command line processing to show the command line
      options when adding a SCSI drive for the guest.
      0701abcb
    • J
      qemu: Add secret object hotplug for TCP chardev TLS · 8550e858
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1300776
      
      Complete the implementation of support for TLS encryption on
      chardev TCP transports by adding the hotplug ability of a secret
      to generate the passwordid for the TLS object for chrdev, RNG,
      and redirdev.
      
      Fix up the order of object removal on failure to be the inverse
      of the attempted attach (for redirdev, chr, rng) - for each the
      tls object was being removed before the chardev backend.
      
      Likewise, add the ability to hot unplug that secret object as well
      and be sure the order of unplug matches that inverse order of plug.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      8550e858
    • J
      qemu: Add a secret object to/for a char source dev · daf5c651
      John Ferlan 提交于
      Add the secret object so the 'passwordid=' can be added if the command line
      if there's a secret defined in/on the host for TCP chardev TLS objects.
      
      Preparation for the secret involves adding the secinfo to the char source
      device prior to command line processing. There are multiple possibilities
      for TCP chardev source backend usage.
      
      Add test for at least a serial chardev as an example.
      daf5c651
    • J
      qemu: Need to remove TLS object in RemoveRNGDevice · 68808516
      John Ferlan 提交于
      Commit id '6e6b4bfc' added the object, but forgot the other end.
      68808516
    • J
      qemu: Fix depedency order in qemuRemoveDiskDevice · 502c747a
      John Ferlan 提交于
      Need to remove the drive first, then the secobj and/or encobj if they exist.
      This is because the drive has a dependency on secobj (or the secret for
      the networked storage server) and/or the encobj (or the secret for the
      LUKS encrypted volume).  Deleting either object first leaves an drive
      without it's respective objects.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      502c747a