
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@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org