[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-6.2 v3 11/12] mirror: Do not clear .cancelled
From: |
Eric Blake |
Subject: |
Re: [PATCH for-6.2 v3 11/12] mirror: Do not clear .cancelled |
Date: |
Fri, 6 Aug 2021 15:42:01 -0500 |
User-agent: |
NeoMutt/20210205-687-0ed190 |
On Fri, Aug 06, 2021 at 11:38:58AM +0200, Max Reitz wrote:
> Clearing .cancelled before leaving the main loop when the job has been
> soft-cancelled is no longer necessary since job_is_cancelled() only
> returns true for jobs that have been force-cancelled.
>
> Therefore, this only makes a differences in places that call
> job_cancel_requested(). In block/mirror.c, this is done only before
> .cancelled was cleared.
>
> In job.c, there are two callers:
> - job_completed_txn_abort() asserts that .cancelled is true, so keeping
> it true will not affect this place.
>
> - job_complete() refuses to let a job complete that has .cancelled set.
> It is correct to refuse to let the user invoke job-complete on mirror
> jobs that have already been soft-cancelled.
>
> With this change, there are no places that reset .cancelled to false and
> so we can be sure that .force_cancel can only be true of .cancelled is
s/of/if/
> true as well. Assert this in job_is_cancelled().
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> block/mirror.c | 2 --
> job.c | 4 +++-
> 2 files changed, 3 insertions(+), 3 deletions(-)
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 for-6.2 v3 06/12] jobs: Give Job.force_cancel more meaning, (continued)
- [PATCH for-6.2 v3 06/12] jobs: Give Job.force_cancel more meaning, Max Reitz, 2021/08/06
- [PATCH for-6.2 v3 08/12] mirror: Use job_is_cancelled(), Max Reitz, 2021/08/06
- [PATCH for-6.2 v3 09/12] mirror: Check job_is_cancelled() earlier, Max Reitz, 2021/08/06
- [PATCH for-6.2 v3 07/12] job: Add job_cancel_requested(), Max Reitz, 2021/08/06
- [PATCH for-6.2 v3 10/12] mirror: Stop active mirroring after force-cancel, Max Reitz, 2021/08/06
- [PATCH for-6.2 v3 11/12] mirror: Do not clear .cancelled, Max Reitz, 2021/08/06
- Re: [PATCH for-6.2 v3 11/12] mirror: Do not clear .cancelled,
Eric Blake <=
- [PATCH for-6.2 v3 12/12] iotests: Add mirror-ready-cancel-error test, Max Reitz, 2021/08/06