]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: blockjob: Add reference to disk into struct qemuBlockJobData
authorPeter Krempa <pkrempa@redhat.com>
Wed, 21 Nov 2018 14:36:47 +0000 (15:36 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 17 Jan 2019 16:12:50 +0000 (17:12 +0100)
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 <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_blockjob.c
src/qemu/qemu_blockjob.h

index 5a2c6bb5277e1122178fb1d204858fd2a059d703..1941c0763e70de896cccac21023dc1b09b9fc7e3 100644 (file)
@@ -99,6 +99,7 @@ qemuBlockJobDataPtr
 qemuBlockJobDiskNew(virDomainDiskDefPtr disk)
 {
     qemuBlockJobDataPtr job = QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob;
+    job->disk = disk;
 
     qemuBlockJobDataReset(job);
     return virObjectRef(job);
index 1a8863440dbe6414c33e591c9fa71a304f2fe39a..5155d18f881d26a2d1a1248ed928fdb6fe59890e 100644 (file)
@@ -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;