]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: blockjob: Separate clearing of per-job data
authorPeter Krempa <pkrempa@redhat.com>
Tue, 26 Nov 2019 12:39:18 +0000 (13:39 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 27 Nov 2019 14:59:33 +0000 (15:59 +0100)
We will need to clear per-job type data when we will be marking a
blockjob as broken in the new way. Extract the code for future reuse.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Cole Robinson <crobinso@redhat.com>
src/qemu/qemu_blockjob.c

index 5a6c5542a6a88fc353083371c47667a38c47c53c..9148e40ce5b3837bf12fe25c8c04ce807ebee930 100644 (file)
@@ -71,6 +71,14 @@ VIR_ENUM_IMPL(qemuBlockjob,
 static virClassPtr qemuBlockJobDataClass;
 
 
+static void
+qemuBlockJobDataDisposeJobdata(qemuBlockJobDataPtr job)
+{
+    if (job->type == QEMU_BLOCKJOB_TYPE_CREATE)
+        virObjectUnref(job->data.create.src);
+}
+
+
 static void
 qemuBlockJobDataDispose(void *obj)
 {
@@ -79,8 +87,7 @@ qemuBlockJobDataDispose(void *obj)
     virObjectUnref(job->chain);
     virObjectUnref(job->mirrorChain);
 
-    if (job->type == QEMU_BLOCKJOB_TYPE_CREATE)
-        virObjectUnref(job->data.create.src);
+    qemuBlockJobDataDisposeJobdata(job);
 
     g_free(job->name);
     g_free(job->errmsg);