Since there are many hidden problems with auto-creating storage for the domain
in here, as previous rounds of reviewing the series has shown, I've decided to
not do anything about it for now and the auto allocation is dropped completely.
So we are back to the assumption we already have - users need to make sure files
already exists and have the right size. Hawk.
diff to v1:
-Eric's and Daniel's suggestions worked in. To point out the bigger ones:
don't do NBD style when TUNNELLED requested, added 'b:writable' to
'nbd-server-add'
-drop '/qemu-migration/nbd/disk/@src' attribute from migration cookie.
As pointed out by Jirka, disk->src can be changed during migration (e.g. by
migration hook or by passed xml). So I've tried (as suggested on the list)
passing disk alias. However, since qemu hasn't been started on destination yet,
the aliases hasn't been generated yet. So we have to rely on ordering
completely.
diff to v2:
-rebase to reflect changes made by offline migration patch
-send initial nbd cookie only if needed
diff to v2.1:
-nbd cookie reworked
-don't rely on disk ordering in the cookie, but use disk target for that
-adapt to virPortAllocator
-unlink pre-created storage on migration fail
-other of Jirka's suggestions worked in
"diff" to v3:
-just rebase & adapt to new qemu code after dropping QDL (Qemu Driver Lock)
diff to v4:
-drop storage auto-allocation
-include John's and Jirka's reviews
Note, that most of the patches has been ACKed already.
Michal Privoznik (9):
qemu: Introduce NBD_SERVER capability
Introduce NBD migration cookie
qemu: Introduce nbd-server-start command
qemu: Introduce nbd-server-add command
qemu: Introduce nbd-server-stop command
qemu_migration: Introduce qemuMigrationStartNBDServer()
qemu_migration: Introduce qemuMigrationDriveMirror
qemu_migration: Stop NBD server at Finish phase
qemu_migration: Cancel running jobs on failed migration
src/qemu/qemu_capabilities.c | 4 +-
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_migration.c | 458 +++++++++++++++++++++++++++++++++++++++++--
src/qemu/qemu_monitor.c | 63 ++++++
src/qemu/qemu_monitor.h | 7 +
src/qemu/qemu_monitor_json.c | 102 ++++++++++
src/qemu/qemu_monitor_json.h | 7 +
src/qemu/qemu_process.c | 5 +
9 files changed, 631 insertions(+), 17 deletions(-)
--
1.8.1.2