On 05/13/2011 04:11 AM, Federico Simoncelli wrote:
Originally most of libvirt domain-specific calls were blocking
during a migration.
A new mechanism to allow specific calls (blkstat/blkinfo) to be
executed in such condition has been implemented.
In the long term it'd be desirable to get a more general
solution to mark further APIs as migration safe, without needing
special case code.
* src/qemu/qemu_migration.c: add some additional job signal
flags for doing blkstat/blkinfo during a migration
* src/qemu/qemu_domain.c: add a condition variable that can be
used to efficiently wait for the migration code to clear the
signal flag
* src/qemu/qemu_driver.c: execute blkstat/blkinfo using the
job signal flags during migration
---
src/qemu/qemu_domain.c | 13 ++++++
src/qemu/qemu_domain.h | 9 ++++
src/qemu/qemu_driver.c | 103 ++++++++++++++++++++++++++++++++-------------
src/qemu/qemu_migration.c | 38 ++++++++++++++++-
4 files changed, 131 insertions(+), 32 deletions(-)
ACK; but pending danpb's commits actually going in.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org