[PATCH 00/10] qemu: Fix block job cancelling

Peter Krempa pkrempa at redhat.com
Wed Apr 21 14:04:29 UTC 2021


Since -blockdev support was introduced qemuDomainBlockJobAbort was using
the wrong API to terminate the blockjob since we care about sync
finishing semantics.

Additionally for cases where we don't care we can force-finish the jobs
such as when cancelling an migration with NBD disk copy.

Peter Krempa (10):
  qemumonitorjsontest: Add test for 'qemuMonitorJSONBlockJobCancel'
  qemuMonitorJSONBlockJobCancel: Refactor cleanup
  qemu: monitor: Add 'force' argument for 'block-job-cancel' QMP command
  qemuDomainBlockJobAbort: Don't use 'job-cancel' instead of
    'block-job-cancel'
  qemuBackupJobCancelBlockjobs: Replace qemuMonitorJobCancel by
    qemuMonitorBlockJobCancel
  qemuBlockJobRefreshJobs: Replace qemuMonitorJobCancel by
    qemuMonitorBlockJobCancel
  qemuMigrationSrcNBDCopyCancel*: Rename 'check' to 'abortMigration'
  qemuMigrationSrcNBDCopyCancelOne: Force-cancel disk copy jobs when
    aborting migration
  qemuMigrationSrcNBDCopyCancelled: Use do-while loop instead of jumping
    back
  qemu: monitor: Remove qemuMonitorJobCancel

 src/qemu/qemu_backup.c       |   2 +-
 src/qemu/qemu_blockjob.c     |   2 +-
 src/qemu/qemu_driver.c       |   7 +--
 src/qemu/qemu_migration.c    | 106 ++++++++++++++++++-----------------
 src/qemu/qemu_monitor.c      |  20 ++-----
 src/qemu/qemu_monitor.h      |   8 +--
 src/qemu/qemu_monitor_json.c |  48 +++-------------
 src/qemu/qemu_monitor_json.h |   8 +--
 tests/qemumonitorjsontest.c  |   4 +-
 9 files changed, 75 insertions(+), 130 deletions(-)

-- 
2.30.2




More information about the libvir-list mailing list