07.09.2021 15:42, Hanna Reitz wrote:
> Hi,
>
> v1 cover letter:
> https://lists.nongnu.org/archive/html/qemu-block/2021-07/msg00705.html
>
> v2 cover letter:
> https://lists.nongnu.org/archive/html/qemu-block/2021-07/msg00747.html
>
> v3 cover letter:
> https://lists.nongnu.org/archive/html/qemu-block/2021-08/msg00127.html
>
>
> Changes in v4:
> - Patch 1: Swap the order of aio_context_acquire() and job_unref() to
> save ourselves from using a local variable here (i.e. do it the same
> way as job_txn_apply())
>
> - Patch 5:
> - Do not add a @force parameter to job_cancel_sync_all(): All callers
> want to force-cancel all jobs when they use this function, because
> what else would you want to do when you want to “cancel all jobs”.
> So we don’t need a @force parameter here, and can unconditionally
> invoke job_cancel_sync() with force=true.
>
> - Let the replication block driver force-cancel its backup job
> (because it doesn’t make a difference, but it’s cleaner to
> force-cancel jobs that don’t support any other cancellation
> method).
>
>
> git-backport-diff against v3:
>
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
>
> 001/12:[0003] [FC] 'job: Context changes in job_completed_txn_abort()'
> 002/12:[----] [--] 'mirror: Keep s->synced on error'
> 003/12:[----] [--] 'mirror: Drop s->synced'
> 004/12:[----] [--] 'job: Force-cancel jobs in a failed transaction'
> 005/12:[0022] [FC] 'job: @force parameter for job_cancel_sync()'
> 006/12:[----] [--] 'jobs: Give Job.force_cancel more meaning'
> 007/12:[----] [--] 'job: Add job_cancel_requested()'
> 008/12:[----] [--] 'mirror: Use job_is_cancelled()'
> 009/12:[----] [--] 'mirror: Check job_is_cancelled() earlier'
> 010/12:[----] [--] 'mirror: Stop active mirroring after force-cancel'
> 011/12:[----] [--] 'mirror: Do not clear .cancelled'
> 012/12:[----] [--] 'iotests: Add mirror-ready-cancel-error test'
>
>
> Hanna Reitz (12):
> job: Context changes in job_completed_txn_abort()
> mirror: Keep s->synced on error
> mirror: Drop s->synced
> job: Force-cancel jobs in a failed transaction
> job: @force parameter for job_cancel_sync()
> jobs: Give Job.force_cancel more meaning
> job: Add job_cancel_requested()
> mirror: Use job_is_cancelled()
> mirror: Check job_is_cancelled() earlier
> mirror: Stop active mirroring after force-cancel
> mirror: Do not clear .cancelled
> iotests: Add mirror-ready-cancel-error test
Thanks, applied to my jobs branch.
git clone: https://src.openvz.org/scm/~vsementsov/qemu.git
web: https://src.openvz.org/users/vsementsov/repos/qemu/commits?until=jobs
--
Best regards,
Vladimir