libvirt/src/qemu
Eric Blake a20c3aafbe qemu: refactor blockinfo job handling
In order for a future patch to virDomainListGetStats to reuse
some code for determining disk usage of offline domains, we
need to make it easier to pull out part of the guts of grabbing
blockinfo.  The current implementation grabs a job fairly late
in the game, while getstats will already own a job; reordering
things so that the job is always grabbed up front in both
functions will make it easier to pull out the common code.
This patch results in grabbing a job in cases where one was not
previously needed, but as it is a query job, it should not be
noticeably slower.

This patch touches the same code as the fix for CVE-2014-6458
(commit b799259); in that patch, we avoided hotplug changing
a disk reference during the time of obtaining a monitor lock
by copying all data we needed and no longer referencing disk;
this patch goes the other way and ensures that by holding the
job, the disk cannot be changed so we no longer need to worry
about the disk being invalidated across the monitor lock.

* src/qemu/qemu_driver.c (qemuDomainGetBlockInfo): Rearrange job
control to be outside of disk information.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-12-16 14:12:24 -07:00
..
EVENTHANDLERS.txt qemu: add short document on qemu event handlers 2014-10-06 13:50:57 -04:00
libvirtd_qemu.aug qemu: Automatically create NVRAM store 2014-09-10 09:38:07 +02:00
MIGRATION.txt
qemu_agent.c qemu: Implement the qemu driver for virDomainGetFSInfo 2014-11-24 10:29:12 -05:00
qemu_agent.h qemu: Implement the qemu driver for virDomainGetFSInfo 2014-11-24 10:29:12 -05:00
qemu_capabilities.c Report original error when QMP probing fails with new QEMU 2014-12-05 10:57:46 +00:00
qemu_capabilities.h Report original error when QMP probing fails with new QEMU 2014-12-05 10:57:46 +00:00
qemu_cgroup.c qemu: Add missing goto error in qemuRestoreCgroupState 2014-12-16 20:44:33 +01:00
qemu_cgroup.h qemu: Save numad advice into qemuDomainObjPrivate 2014-12-16 11:15:27 +01:00
qemu_command.c qemu: add/remove bridge fdb entries as guest CPUs are started/stopped 2014-12-15 10:07:06 -05:00
qemu_command.h qemu: make advice from numad available when building commandline 2014-11-03 16:43:22 +01:00
qemu_conf.c virconf: Introduce VIR_CONF_ULONG 2014-12-15 10:34:18 +01:00
qemu_conf.h qemu: fix crash with shared disks 2014-09-18 09:05:21 +02:00
qemu_domain.c qemu: Save numad advice into qemuDomainObjPrivate 2014-12-16 11:15:27 +01:00
qemu_domain.h qemu: Save numad advice into qemuDomainObjPrivate 2014-12-16 11:15:27 +01:00
qemu_driver.c qemu: refactor blockinfo job handling 2014-12-16 14:12:24 -07:00
qemu_driver.h
qemu_hostdev.c
qemu_hostdev.h
qemu_hotplug.c qemu: make persistent update of graphics device supported 2014-12-15 15:45:24 +01:00
qemu_hotplug.h qemu: make persistent update of graphics device supported 2014-12-15 15:45:24 +01:00
qemu_hotplugpriv.h
qemu_interface.c qemu: add/remove bridge fdb entries as guest CPUs are started/stopped 2014-12-15 10:07:06 -05:00
qemu_interface.h qemu: add a qemuInterfaceStopDevices(), called when guest CPUs stop 2014-12-13 22:20:28 -05:00
qemu_migration.c qemu_migration: Precreate missing storage 2014-12-02 18:02:13 +01:00
qemu_migration.h qemu: Memory pre-pinning support for RDMA migration 2014-09-23 08:11:50 +02:00
qemu_monitor_json.c qemuMonitorJSONBlockStatsUpdateCapacity: Don't skip disks 2014-12-02 17:51:57 +01:00
qemu_monitor_json.h qemu: monitor: Rename and improve qemuMonitorGetPtyPaths 2014-11-21 11:00:10 +01:00
qemu_monitor_text.c qemu: chardev: Extract more information about character devices 2014-11-24 08:58:30 +01:00
qemu_monitor_text.h qemu: monitor: Rename and improve qemuMonitorGetPtyPaths 2014-11-21 11:00:10 +01:00
qemu_monitor.c qemu: chardev: Extract more information about character devices 2014-11-24 08:58:30 +01:00
qemu_monitor.h qemu: chardev: Extract more information about character devices 2014-11-24 08:58:30 +01:00
qemu_process.c qemu: Save numad advice into qemuDomainObjPrivate 2014-12-16 11:15:27 +01:00
qemu_process.h qemu: Tidy up job handling during live migration 2014-08-14 12:12:42 +02:00
qemu_processpriv.h
qemu.conf conf: Check whether migration_address is localhost 2014-10-15 09:25:33 +02:00
test_libvirtd_qemu.aug.in conf: Check whether migration_address is localhost 2014-10-15 09:25:33 +02:00
THREADS.txt