diff options
author | Hanna Reitz <hreitz@redhat.com> | 2021-10-06 17:19:34 +0200 |
---|---|---|
committer | Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> | 2021-10-07 10:42:34 +0200 |
commit | 401dd096ef9d19956977b371362107448575ef40 (patch) | |
tree | 39c689b2d9d61f9ad8f9e8233ac9afda749af9a2 /hw/sparc/trace-events | |
parent | 73895f3838cd7fdaf185cf1dbc47be58844a966f (diff) |
job: Do not soft-cancel after a job is done
The only job that supports a soft cancel mode is the mirror job, and in
such a case it resets its .cancelled field before it leaves its .run()
function, so it does not really count as cancelled.
However, it is possible to cancel the job after .run() returns and
before job_exit() (which is run in the main loop) is executed. Then,
.cancelled would still be true and the job would count as cancelled.
This does not seem to be in the interest of the mirror job, so adjust
job_cancel_async() to not set .cancelled in such a case, and
job_cancel() to not invoke job_completed_txn_abort().
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20211006151940.214590-8-hreitz@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Diffstat (limited to 'hw/sparc/trace-events')
0 files changed, 0 insertions, 0 deletions