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>
qemuBlockJobDiskNew(virDomainDiskDefPtr disk)
{
qemuBlockJobDataPtr job = QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob;
+ job->disk = disk;
qemuBlockJobDataReset(job);
return virObjectRef(job);
struct _qemuBlockJobData {
virObject parent;
+ virDomainDiskDefPtr disk; /* may be NULL, if blockjob does not correspond to any disk */
+
bool started;
int type;
char *errmsg;