From 8d5df6444944ad67f7c59f6bfa9aff24537f8794 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 24 Jan 2019 09:49:26 +0100 Subject: [PATCH] qemu: blockjob: Make sure that internal states are not reported as event While the callers should make sure that they don't call qemuBlockJobEmitEvents for any internal state or job, let's add checks that prevents us from emitting wrong events altogether. Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- src/qemu/qemu_blockjob.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 9b638b7ef6..2f9f2b5b04 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -214,6 +214,11 @@ qemuBlockJobEmitEvents(virQEMUDriverPtr driver, virObjectEventPtr event = NULL; virObjectEventPtr event2 = NULL; + /* don't emit events for internal jobs and states */ + if (type >= VIR_DOMAIN_BLOCK_JOB_TYPE_LAST || + status >= VIR_DOMAIN_BLOCK_JOB_LAST) + return; + if (virStorageSourceIsLocalStorage(disk->src) && !virStorageSourceIsEmpty(disk->src)) { event = virDomainEventBlockJobNewFromObj(vm, virDomainDiskGetSource(disk),