mirror of https://gitee.com/openkylin/libvirt.git
qemu: migration: Unlock vm on failed ACL check in protocol v2 APIs
Avoid leaving the domain locked on a failed ACL check in
qemuDomainMigratePerform() and qemuDomainMigrateFinish2().
Introduced in commit abf75aea24
(Add ACL checks into the QEMU driver).
This commit is contained in:
parent
77a778d2e0
commit
2bdcd29c71
|
@ -11415,8 +11415,10 @@ qemuDomainMigratePerform(virDomainPtr dom,
|
||||||
if (!(vm = qemuDomObjFromDomain(dom)))
|
if (!(vm = qemuDomObjFromDomain(dom)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainMigratePerformEnsureACL(dom->conn, vm->def) < 0)
|
if (virDomainMigratePerformEnsureACL(dom->conn, vm->def) < 0) {
|
||||||
|
virObjectUnlock(vm);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & VIR_MIGRATE_PEER2PEER) {
|
if (flags & VIR_MIGRATE_PEER2PEER) {
|
||||||
dconnuri = uri;
|
dconnuri = uri;
|
||||||
|
@ -11463,8 +11465,10 @@ qemuDomainMigrateFinish2(virConnectPtr dconn,
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0)
|
if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0) {
|
||||||
|
virObjectUnlock(vm);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
/* Do not use cookies in v2 protocol, since the cookie
|
/* Do not use cookies in v2 protocol, since the cookie
|
||||||
* length was not sufficiently large, causing failures
|
* length was not sufficiently large, causing failures
|
||||||
|
|
Loading…
Reference in New Issue