libvirt/src/qemu
Eric Blake 68b2596f83 snapshot: Don't hose list on deletion failure
If qemuDomainSnapshotDiscard() fails for any reason (rare,
but possible with an ill-timed ENOMEM or if
qemuDomainSnapshotForEachQcow2() has problems talking to the
qemu guest monitor), then an attempt to retry the snapshot
deletion API will crash because we didn't undo the effects
of virDomainSnapshotDropParent() temporarily rearranging the
internal list structures, and the second attempt to drop
parents will dereference NULL.  Fix it by instead noting that
there are only two callers to qemuDomainSnapshotDiscard(),
and only one of the two callers wants the parent to be updated;
thus we can move the call to virDomainSnapshotDropParent()
into a code path that only gets executed on success.

Signed-off-by: Eric Blake <eblake@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
2018-11-08 07:19:27 -06:00
..
EVENTHANDLERS.txt
libvirtd_qemu.aug qemu: Temporarily disable metadata locking 2018-09-27 16:22:44 +02:00
Makefile.inc.am
MIGRATION.txt
qemu_agent.c src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
qemu_agent.h qemu: implementing qemuAgentGetHostname() function. 2018-09-05 13:13:37 -04:00
qemu_alias.c src: remove blank first line in function body 2018-09-17 13:29:01 +02:00
qemu_alias.h qemu: alias: Generate QOM name of the block backend for disks 2018-08-21 15:46:06 +02:00
qemu_block.c qemu: block: Add generator for the 'copy-on-read' blockdev driver 2018-08-21 15:46:06 +02:00
qemu_block.h qemu: block: Add generator for the 'copy-on-read' blockdev driver 2018-08-21 15:46:06 +02:00
qemu_blockjob.c
qemu_blockjob.h
qemu_capabilities.c qemu: add vfio-ap capability 2018-10-29 12:45:54 -04:00
qemu_capabilities.h qemu: add vfio-ap capability 2018-10-29 12:45:54 -04:00
qemu_capspriv.h qemu: remove unnecessary virQEMUCapsFreeHostCPUModel 2018-09-12 21:12:22 +02:00
qemu_cgroup.c
qemu_cgroup.h
qemu_command.c qemu: Restore lost shutdown reason 2018-11-07 07:41:41 -05:00
qemu_command.h qemu: command: Extract opening of TPM backend FDs for mocking purposes 2018-08-24 15:58:34 +02:00
qemu_conf.c qemu: conf: Export qemuAddSharedDisk 2018-10-08 15:35:18 +02:00
qemu_conf.h qemu: conf: Export qemuAddSharedDisk 2018-10-08 15:35:18 +02:00
qemu_domain_address.c qemu: vfio-ap device support 2018-10-29 12:45:54 -04:00
qemu_domain_address.h
qemu_domain.c snapshot: Don't hose list on deletion failure 2018-11-08 07:19:27 -06:00
qemu_domain.h qemu: Restore lost shutdown reason 2018-11-07 07:41:41 -05:00
qemu_driver.c snapshot: Don't hose list on deletion failure 2018-11-08 07:19:27 -06:00
qemu_driver.h
qemu_extdevice.c
qemu_extdevice.h
qemu_hostdev.c src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
qemu_hostdev.h
qemu_hotplug.c qemu: hotplug: Refactor qemuDomainAttachDeviceDiskLiveInternal 2018-10-08 15:35:18 +02:00
qemu_hotplug.h Revert "qemu: hotplug: consolidate media change code paths" 2018-10-08 12:37:07 +02:00
qemu_hotplugpriv.h
qemu_interface.c
qemu_interface.h
qemu_migration_cookie.c
qemu_migration_cookie.h
qemu_migration_params.c
qemu_migration_params.h
qemu_migration_paramspriv.h
qemu_migration.c qemu: Avoid duplicate resume events and state changes 2018-09-25 20:42:25 +02:00
qemu_migration.h
qemu_monitor_json.c src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
qemu_monitor_json.h qemu: monitor: Separate probing for active block commit 2018-08-24 13:52:44 +02:00
qemu_monitor_priv.h
qemu_monitor_text.c src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
qemu_monitor_text.h
qemu_monitor.c src: remove blank first line in function body 2018-09-17 13:29:01 +02:00
qemu_monitor.h qemu: monitor: Rename 'device' argument for block job control APIs 2018-08-24 13:52:44 +02:00
qemu_parse_command.c qemu: initialize variables in qemuParseCommandLine 2018-08-28 12:53:25 +02:00
qemu_parse_command.h qemu: fix default machine for argv -> xml convertor 2018-08-28 11:49:01 +01:00
qemu_process.c qemu: Don't ignore resume events 2018-11-08 09:08:58 +01:00
qemu_process.h qemu: Remove unused qemuProcessAutostartAll 2018-10-11 18:26:00 -04:00
qemu_processpriv.h
qemu_qapi.c qemu: qapi: Allow selecting specifically optional schema entries in virQEMUQAPISchemaTraverse 2018-08-24 15:58:33 +02:00
qemu_qapi.h
qemu_security.c qemu_security: Run transactions more frequently 2018-09-17 10:58:17 +02:00
qemu_security.h src: More cleanup of some system headers already contained in internal.h 2018-09-20 10:16:39 +02:00
qemu_tpm.c vircgroup: rename virCgroupAdd.*Task to virCgroupAdd.*Process 2018-09-25 09:59:23 +02:00
qemu_tpm.h
qemu.conf qemu: Temporarily disable metadata locking 2018-09-27 16:22:44 +02:00
test_libvirtd_qemu.aug.in qemu: Temporarily disable metadata locking 2018-09-27 16:22:44 +02:00
THREADS.txt