Bug cause: Update the domain that is subscribed to hypervisor notification. LoadDomain() rewrites notifications fields in vzDomObj structure and makes domain as "unsubscribed". Fix: Initialize notification fields in vzDomObj only if we create a new domain. And do not reinitialize these fields if we update domain (by calling LoadDomain with olddom argument) --- src/vz/vz_sdk.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 40ab2d9..6fb2a97 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -1270,6 +1270,12 @@ prlsdkLoadDomain(vzConnPtr privconn, if (!olddom) { if (VIR_ALLOC(pdom) < 0) goto error; + pdom->cache.stats = PRL_INVALID_HANDLE; + pdom->cache.count = -1; + if (virCondInit(&pdom->cache.cond) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot initialize condition")); + goto error; + } } else { pdom = olddom->privateData; } @@ -1281,13 +1287,6 @@ prlsdkLoadDomain(vzConnPtr privconn, def->id = -1; - pdom->cache.stats = PRL_INVALID_HANDLE; - pdom->cache.count = -1; - if (virCondInit(&pdom->cache.cond) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot initialize condition")); - goto error; - } - if (prlsdkGetDomainIds(sdkdom, &def->name, def->uuid) < 0) goto error; -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list