On Fri, Aug 06, 2021 at 11:38:51AM +0200, Max Reitz wrote: > When a transaction is aborted, no result matters, and so all jobs within > should be force-cancelled. > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > job.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-)
Reviewed-by: Eric Blake <ebl...@redhat.com> > > diff --git a/job.c b/job.c > index 3fe23bb77e..24e7c4fcb7 100644 > --- a/job.c > +++ b/job.c > @@ -766,7 +766,12 @@ static void job_completed_txn_abort(Job *job) > if (other_job != job) { > ctx = other_job->aio_context; > aio_context_acquire(ctx); > - job_cancel_async(other_job, false); > + /* > + * This is a transaction: If one job failed, no result will > matter. > + * Therefore, pass force=true to terminate all other jobs as > quickly > + * as possible. > + */ > + job_cancel_async(other_job, true); > aio_context_release(ctx); > } > } > -- > 2.31.1 > > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org