1. 02 11月, 2016 2 次提交
  2. 01 11月, 2016 1 次提交
  3. 29 10月, 2016 3 次提交
  4. 28 10月, 2016 4 次提交
    • 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
    • N
      daemon: Fix crash during daemon cleanup · 85c3a182
      Nikolay Shirokovskiy 提交于
      Do not dereference the 'dmn' until after the virStateCleanup is completed.
      
      During initialization, virStateInitialize requires/uses the "dmn" as the
      argument to/for the daemonInhibitCallback functions. Thus, cleanup cannot
      dereference 'dmn' until after calling the virStateCleanup which calls the
      the daemonInhibitCallback using 'dmn'; otherwise, the following crash occurs:
      
      backtrace (shortened a bit)
      
      1  0x00007fd3a791b2e6 in virCondWait (c=<optimized out>, m=<optimized out>)
         at util/virthread.c:154
      2  0x00007fd3a791bcb0 in virThreadPoolFree (pool=0x7fd38024ee00)
         at util/virthreadpool.c:266
      3  0x00007fd38edaa00e in qemuStateCleanup () at qemu/qemu_driver.c:1116
      4  0x00007fd3a79abfeb in virStateCleanup () at libvirt.c:808
      5  0x00007fd3a85f2c9e in main (argc=<optimized out>, argv=<optimized out>)
          at libvirtd.c:1660
      
      Thread 1 (Thread 0x7fd38722d700 (LWP 32256)):
      0  0x00007fd3a7900910 in virClassIsDerivedFrom
         (klass=0xdfd36058d4853, parent=0x7fd3a8f394d0) at util/virobject.c:169
      1  0x00007fd3a7900c4e in virObjectIsClass
         (anyobj=anyobj@entry=0x7fd3a8f2f850, klass=<optimized out>)
         at util/virobject.c:365
      2  0x00007fd3a7900c74 in virObjectLock (anyobj=0x7fd3a8f2f850)
         at util/virobject.c:317
      3  0x00007fd3a7a24d5d in virNetDaemonRemoveShutdownInhibition
         (dmn=0x7fd3a8f2f850) at rpc/virnetdaemon.c:547
      4  0x00007fd38ed722cf in qemuProcessStop
         (driver=driver@entry=0x7fd380103810, vm=vm@entry=0x7fd38025b6d0,
          reason=reason@entry=VIR_DOMAIN_SHUTOFF_SHUTDOWN,
          asyncJob=asyncJob@entry=QEMU_ASYNC_JOB_NONE, flags=flags@entry=0)
         at qemu/qemu_process.c:5786
      5  0x00007fd38edd9428 in processMonitorEOFEvent
         (vm=0x7fd38025b6d0, driver=0x7fd380103810) at qemu/qemu_driver.c:4588
      6  qemuProcessEventHandler (data=<optimized out>, opaque=0x7fd380103810)
         at qemu/qemu_driver.c:4632
      7  0x00007fd3a791bb55 in virThreadPoolWorker
         (opaque=opaque@entry=0x7fd3a8f1e4c0) at util/virthreadpool.c:145
      85c3a182
  5. 27 10月, 2016 11 次提交
  6. 26 10月, 2016 19 次提交