job: Add reference counting
This moves reference counting from BlockJob to Job. In order to keep calling the BlockJob cleanup code when the job is deleted via job_unref(), introduce a new JobDriver.free callback. Every block job must use block_job_free() for this callback, this is asserted in block_job_create(). Signed-off-by:Kevin Wolf <kwolf@redhat.com> Reviewed-by:
Max Reitz <mreitz@redhat.com> Reviewed-by:
John Snow <jsnow@redhat.com>
Showing
- block/backup.c 1 addition, 0 deletionsblock/backup.c
- block/commit.c 1 addition, 0 deletionsblock/commit.c
- block/mirror.c 2 additions, 0 deletionsblock/mirror.c
- block/stream.c 1 addition, 0 deletionsblock/stream.c
- blockjob.c 21 additions, 27 deletionsblockjob.c
- include/block/blockjob.h 0 additions, 21 deletionsinclude/block/blockjob.h
- include/block/blockjob_int.h 7 additions, 0 deletionsinclude/block/blockjob_int.h
- include/qemu/job.h 17 additions, 2 deletionsinclude/qemu/job.h
- job.c 18 additions, 4 deletionsjob.c
- qemu-img.c 2 additions, 2 deletionsqemu-img.c
- tests/test-bdrv-drain.c 1 addition, 0 deletionstests/test-bdrv-drain.c
- tests/test-blockjob-txn.c 1 addition, 0 deletionstests/test-blockjob-txn.c
- tests/test-blockjob.c 4 additions, 2 deletionstests/test-blockjob.c
Loading
Please register or sign in to comment