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:
parent
a7b2257e9a
commit
d5f0cf990b
@ -1275,6 +1275,12 @@ prlsdkLoadDomain(vzConnPtr privconn,
|
|||||||
if (!olddom) {
|
if (!olddom) {
|
||||||
if (VIR_ALLOC(pdom) < 0)
|
if (VIR_ALLOC(pdom) < 0)
|
||||||
goto error;
|
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 {
|
} else {
|
||||||
pdom = olddom->privateData;
|
pdom = olddom->privateData;
|
||||||
}
|
}
|
||||||
@ -1286,13 +1292,6 @@ prlsdkLoadDomain(vzConnPtr privconn,
|
|||||||
|
|
||||||
def->id = -1;
|
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)
|
if (prlsdkGetDomainIds(sdkdom, &def->name, def->uuid) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user