1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

vz: fix notification subscription

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)
This commit is contained in:
Mikhail Feoktistov 2016-02-10 12:39:13 +03:00 committed by Maxim Nestratov
parent a7b2257e9a
commit d5f0cf990b

View File

@ -1275,6 +1275,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;
}
@ -1286,13 +1292,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;