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

Peter Krempa posted 10 patches 3 years ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1619013793.git.pkrempa@redhat.com
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(-)
[PATCH 00/10] qemu: Fix block job cancelling
Posted by Peter Krempa 3 years ago
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

Re: [PATCH 00/10] qemu: Fix block job cancelling
Posted by Michal Privoznik 3 years ago
On 4/21/21 4:04 PM, Peter Krempa wrote:
> 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(-)
> 

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal