[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 05/13] job: @force parameter for job_cancel_sync()
From: |
Eric Blake |
Subject: |
Re: [PATCH v5 05/13] job: @force parameter for job_cancel_sync() |
Date: |
Wed, 6 Oct 2021 10:28:26 -0500 |
User-agent: |
NeoMutt/20210205-815-1dd940 |
On Wed, Oct 06, 2021 at 05:19:32PM +0200, Hanna Reitz wrote:
> Callers should be able to specify whether they want job_cancel_sync() to
> force-cancel the job or not.
>
> In fact, almost all invocations do not care about consistency of the
> result and just want the job to terminate as soon as possible, so they
> should pass force=true. The replication block driver is the exception,
> specifically the active commit job it runs.
>
> As for job_cancel_sync_all(), all callers want it to force-cancel all
> jobs, because that is the point of it: To cancel all remaining jobs as
> quickly as possible (generally on process termination). So make it
> invoke job_cancel_sync() with force=true.
>
> This changes some iotest outputs, because quitting qemu while a mirror
> job is active will now lead to it being cancelled instead of completed,
> which is what we want. (Cancelling a READY mirror job with force=false
> may take an indefinite amount of time, which we do not want when
> quitting. If users want consistent results, they must have all jobs be
> done before they quit qemu.)
>
> Buglink: https://gitlab.com/qemu-project/qemu/-/issues/462
> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
> ---
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- [PATCH v5 00/13] mirror: Handle errors after READY cancel, Hanna Reitz, 2021/10/06
- [PATCH v5 01/13] job: Context changes in job_completed_txn_abort(), Hanna Reitz, 2021/10/06
- [PATCH v5 02/13] mirror: Keep s->synced on error, Hanna Reitz, 2021/10/06
- [PATCH v5 03/13] mirror: Drop s->synced, Hanna Reitz, 2021/10/06
- [PATCH v5 04/13] job: Force-cancel jobs in a failed transaction, Hanna Reitz, 2021/10/06
- [PATCH v5 05/13] job: @force parameter for job_cancel_sync(), Hanna Reitz, 2021/10/06
- [PATCH v5 09/13] mirror: Use job_is_cancelled(), Hanna Reitz, 2021/10/06
- [PATCH v5 07/13] job: Do not soft-cancel after a job is done, Hanna Reitz, 2021/10/06
- [PATCH v5 06/13] jobs: Give Job.force_cancel more meaning, Hanna Reitz, 2021/10/06
- [PATCH v5 08/13] job: Add job_cancel_requested(), Hanna Reitz, 2021/10/06
- [PATCH v5 12/13] mirror: Do not clear .cancelled, Hanna Reitz, 2021/10/06