]> git.ipfire.org Git - thirdparty/qemu.git/commit - job.c
job: Add job_is_ready()
authorKevin Wolf <kwolf@redhat.com>
Wed, 25 Apr 2018 13:09:58 +0000 (15:09 +0200)
committerKevin Wolf <kwolf@redhat.com>
Wed, 23 May 2018 12:30:51 +0000 (14:30 +0200)
commitdf956ae2014340bf7de0190edb1d09be55d9eadf
treeb9a1cf5b69c78c974f5b697189c7c26dae58def6
parent5f9a6a08e8f65e01746d2485fc65a3a78e74865f
job: Add job_is_ready()

Instead of having a 'bool ready' in BlockJob, add a function that
derives its value from the job status.

At the same time, this fixes the behaviour to match what the QAPI
documentation promises for query-block-job: 'true if the job may be
completed'. When the ready flag was introduced in commit ef6dbf1e46e,
the flag never had to be reset to match the description because after
being ready, the jobs would immediately complete and disappear.

Job transactions and manual job finalisation were introduced only later.
With these changes, jobs may stay around even after having completed
(and they are not ready to be completed a second time), however their
patches forgot to reset the ready flag.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
blockjob.c
include/block/blockjob.h
include/qemu/job.h
job.c
qemu-img.c
tests/test-blockjob.c