mirror of
git://git.proxmox.com/git/qemu-server.git
synced 2025-01-21 18:03:56 +03:00
Mira Limbeck
e02fb12620
add qemu_drive_mirror_monitor completion modes
With Qemu 4.2 we encountered a problem with unix sockets and SSH socket forwarding for drive-mirror. It seems the socket gets reopened again and again after it closes for some reason. This can be worked around by specifying 'block-job-cancel' instead of 'block-job-complete' when we're not interested in swapping the disks again from NBD to their original protocol. This is always the case when we use drive-mirror for live migrating a VM. qemu_drive_mirror is used for migration and for clone_disk. All in all we have 3 cases to handle. Either the 'skip' case which skips the completion of the job. The 'wait' case which was the default before and still is when $completion is undefined. And the new 'wait_noswap' case which is used for the live migration. If 'wait_noswap' is specified, we issue a 'block-job-cancel' once the block job is in 'ready' state. This completes the block job without swapping the disks. clone_disk always uses 'block-job-cancel' via the qemu_blockjobs_cancel sub. Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
Description
No description provided
Languages
Perl
86.3%
Batchfile
10.6%
C
2.3%
Makefile
0.8%