Am 13.03.2018 um 13:12 hat Jeff Cody geschrieben:
> From: Liang Li <>
> When doing drive mirror to a low speed shared storage, if there was heavy
> BLK IO write workload in VM after the 'ready' event, drive mirror block job
> can't be canceled immediately, it would keep running until the heavy BLK IO
> workload stopped in the VM.
> Libvirt depends on the current block-job-cancel semantics, which is that
> when used without a flag after the 'ready' event, the command blocks
> until data is in sync.  However, these semantics are awkward in other
> situations, for example, people may use drive mirror for realtime
> backups while still wanting to use block live migration.  Libvirt cannot
> start a block live migration while another drive mirror is in progress,
> but the user would rather abandon the backup attempt as broken and
> proceed with the live migration than be stuck waiting for the current
> drive mirror backup to finish.
> The drive-mirror command already includes a 'force' flag, which libvirt
> does not use, although it documented the flag as only being useful to
> quit a job which is paused.  However, since quitting a paused job has
> the same effect as abandoning a backup in a non-paused job (namely, the
> destination file is not in sync, and the command completes immediately),
> we can just improve the documentation to make the force flag obviously
> useful.
> Cc: Paolo Bonzini <>
> Cc: Jeff Cody <>
> Cc: Kevin Wolf <>
> Cc: Max Reitz <>
> Cc: Eric Blake <>
> Cc: John Snow <>
> Reported-by: Huaitong Han <>
> Signed-off-by: Huaitong Han <>
> Signed-off-by: Liang Li <>
> Signed-off-by: Jeff Cody <>
> ---
> N.B.: This was rebased on top of Kevin's block branch,
>       and the 'force' flag added to block_job_user_cancel

Thanks, applied to the block branch.


Reply via email to