]> git.proxmox.com Git - mirror_qemu.git/commit - job.c
job: Avoid deadlocks in job_completed_txn_abort()
authorKevin Wolf <kwolf@redhat.com>
Thu, 13 Sep 2018 12:35:27 +0000 (14:35 +0200)
committerKevin Wolf <kwolf@redhat.com>
Tue, 25 Sep 2018 13:50:15 +0000 (15:50 +0200)
commit644f3a29bd4974aefd46d2adb5062d86063c8a50
tree09338f7dd6841ac88e603965ca5b7cefad32689c
parentecc1a5c790cf2c7732cb9755ca388c2fe108d1a1
job: Avoid deadlocks in job_completed_txn_abort()

Amongst others, job_finalize_single() calls the .prepare/.commit/.abort
callbacks of the individual job driver. Recently, their use was adapted
for all block jobs so that they involve code calling AIO_WAIT_WHILE()
now. Such code must be called under the AioContext lock for the
respective job, but without holding any other AioContext lock.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
job.c