This series is also available at
https://gitorious.org/~jirka/libvirt/jirka-staging/commits/migration-reco...
The series does several things:
- persists current job and its phase in status xml
- allows safe monitor commands to be run during migration/save/dump jobs
- implements recovery when libvirtd is restarted while a job is active
- consolidates some code and fixes bugs I found when working in the area
The series is not perfect and still needs some corner cases to be fixed but I
think it's better to send the series for review now and add small additional
fixes in the next version(s) instead of waiting for it to be perfect.
Jiri Denemark (19):
qemu: Separate job related data into a new object
qemu: Consolidate BeginJob{,WithDriver} into a single method
qemu: Consolidate {Enter,Exit}Monitor{,WithDriver}
qemu: Allow all query commands to be run during long jobs
qemu: Save job type in domain status XML
qemu: Recover from interrupted jobs
qemu: Add support for job phase
qemu: Consolidate qemuMigrationPrepare{Direct,Tunnel}
qemu: Implement migration job phases
qemu: Migration job on destination daemon
qemu: Migration job on source daemon
qemu: Recover from interrupted migration
qemu: Fix monitor unlocking in some error paths
qemu: Remove special case for virDomainGetBlockInfo
qemu: Remove special case for virDomainBlockStats
qemu: Remove special case for virDomainMigrateSetMaxSpeed
qemu: Remove special case for virDomainMigrateSetMaxDowntime
qemu: Remove special case for virDomainSuspend
qemu: Remove special case for virDomainAbortJob
src/libvirt.c | 11 +-
src/qemu/MIGRATION.txt | 55 +++
src/qemu/qemu_domain.c | 575 ++++++++++++++++++++++++-------
src/qemu/qemu_domain.h | 130 +++++--
src/qemu/qemu_driver.c | 467 +++++++++++++------------
src/qemu/qemu_hotplug.c | 50 ++--
src/qemu/qemu_migration.c | 849 +++++++++++++++++++++++----------------------
src/qemu/qemu_migration.h | 36 ++
src/qemu/qemu_process.c | 244 ++++++++++++-
9 files changed, 1569 insertions(+), 848 deletions(-)
create mode 100644 src/qemu/MIGRATION.txt
--
1.7.6