blockjob: Remove the job from the list earlier in block_job_unref()
commit0a3e155f3f5ec9b6f12d00894c7701b3cbb66590
authorAlberto Garcia <berto@igalia.com>
Tue, 28 Nov 2017 14:53:27 +0000 (28 16:53 +0200)
committerKevin Wolf <kwolf@redhat.com>
Tue, 28 Nov 2017 15:59:24 +0000 (28 16:59 +0100)
treef1f14f5166780592295d1e3602ac5b4c91ed88bb
parentc117bb14ff633848cc6b0ff77f081f583dfa8c5e
blockjob: Remove the job from the list earlier in block_job_unref()

When destroying a block job in block_job_unref() we should remove it
from the job list before calling block_job_remove_all_bdrv().

This is because removing the BDSs can trigger an aio_poll() and wake
up other jobs that might attempt to use the block job list. If that
happens the job we're currently destroying should not be in that list
anymore.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
blockjob.c