From: Peter Krempa Date: Wed, 21 Nov 2018 14:36:47 +0000 (+0100) Subject: qemu: blockjob: Add reference to disk into struct qemuBlockJobData X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f877ec10209d6f5f0e8d48f3a8c50f74534f6a1b;p=libvirt.git qemu: blockjob: Add reference to disk into struct qemuBlockJobData Block jobs can also happen on objects which are not a disk at a given point (e.g. the frontend was not hotplugged yet) and thus will be eventually kept separately. Add a reference back to the disk for blockjobs which do correspond to a disk. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 5a2c6bb527..1941c0763e 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -99,6 +99,7 @@ qemuBlockJobDataPtr qemuBlockJobDiskNew(virDomainDiskDefPtr disk) { qemuBlockJobDataPtr job = QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob; + job->disk = disk; qemuBlockJobDataReset(job); return virObjectRef(job); diff --git a/src/qemu/qemu_blockjob.h b/src/qemu/qemu_blockjob.h index 1a8863440d..5155d18f88 100644 --- a/src/qemu/qemu_blockjob.h +++ b/src/qemu/qemu_blockjob.h @@ -32,6 +32,8 @@ typedef qemuBlockJobData *qemuBlockJobDataPtr; struct _qemuBlockJobData { virObject parent; + virDomainDiskDefPtr disk; /* may be NULL, if blockjob does not correspond to any disk */ + bool started; int type; char *errmsg;