libvirt/src/qemu
Daniel P. Berrange 81621f3e6e Fix race condition when destroying guests
When running virDomainDestroy, we need to make sure that no other
background thread cleans up the domain while we're doing our work.
This can happen if we release the domain object while in the
middle of work, because the monitor might detect EOF in this window.
For this reason we have a 'beingDestroyed' flag to stop the monitor
from doing its normal cleanup. Unfortunately this flag was only
being used to protect qemuDomainBeginJob, and not qemuProcessKill

This left open a race condition where either libvirtd could crash,
or alternatively report bogus error messages about the domain already
having been destroyed to the caller

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-01-18 15:45:38 +00:00
..
libvirtd_qemu.aug qemu: conf: add seccomp_sandbox option 2012-09-18 15:43:28 +08:00
MIGRATION.txt qemu: Implement migration job phases 2011-07-27 08:45:09 -06:00
qemu_agent.c Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_agent.h Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_bridge_filter.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
qemu_bridge_filter.h Replace 'struct qemud_driver *' with virQEMUDriverPtr 2012-11-28 18:17:25 +00:00
qemu_capabilities.c qemu: fix QEMU_CAPS_NO_ACPI detection 2013-01-16 17:37:04 +01:00
qemu_capabilities.h qemu: add usb-net caps flag 2013-01-10 21:56:31 +08:00
qemu_cgroup.c maint: fix comment typo 2013-01-09 16:45:59 -07:00
qemu_cgroup.h Rename hostusb.{c,h} to virusb.{c,h} 2012-12-21 11:17:13 +00:00
qemu_command.c qemu: add usb-serial support 2013-01-10 21:29:20 +08:00
qemu_command.h Rename command.{c,h} to vircommand.{c,h} 2012-12-21 11:17:13 +00:00
qemu_conf.c Avoid integer wrap on remotePortMax in QEMU driver 2013-01-17 13:52:33 +00:00
qemu_conf.h Convert QEMU driver over to use virPortAllocator APIs 2013-01-16 11:02:58 +00:00
qemu_domain.c Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_domain.h conf: Rename console-specific identifiers to be more generic 2013-01-04 17:43:21 -07:00
qemu_driver.c Fix race condition when destroying guests 2013-01-18 15:45:38 +00:00
qemu_driver.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
qemu_hostdev.c qemu: Check valid activeDev before calling pciDeviceSetUsedBy 2013-01-17 23:46:35 +01:00
qemu_hostdev.h Replace 'struct qemud_driver *' with virQEMUDriverPtr 2012-11-28 18:17:25 +00:00
qemu_hotplug.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
qemu_hotplug.h Replace 'struct qemud_driver *' with virQEMUDriverPtr 2012-11-28 18:17:25 +00:00
qemu_migration.c Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_migration.h qemu: Make qemuMigrationIsAllowed more reusable 2012-12-11 19:48:37 +01:00
qemu_monitor_json.c Add RESUME event listener to qemu monitor. 2013-01-09 10:17:40 +01:00
qemu_monitor_json.h Rename bitmap.{c,h} to virbitmap.{c,h} 2012-12-21 11:17:12 +00:00
qemu_monitor_text.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
qemu_monitor_text.h qemu: nicer error message if live disk snapshot unsupported 2012-12-04 15:53:41 -07:00
qemu_monitor.c Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_monitor.h Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00
qemu_process.c Convert QEMU driver over to use virPortAllocator APIs 2013-01-16 11:02:58 +00:00
qemu_process.h qemu: Check if the shared disk's cdbfilter conflicts with others 2013-01-07 21:39:20 +08:00
qemu.conf doc: update description about user/group in qemu.conf 2012-10-09 08:38:36 -06:00
test_libvirtd_qemu.aug.in Fix the augea test for qemu libvirtd options 2012-09-18 16:28:43 +08:00
THREADS.txt Convert virDomainObj, qemuAgent, qemuMonitor, lxcMonitor to virObjectLockable 2013-01-16 11:02:58 +00:00