mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Tear down the cgroup before reattach device to host
When a hostdev is attached to the guest (and removed from the host), the order of operations is call qemuHostdevPreparePCIDevices to remove the device from the host, call qemuSetupHostdevCgroup to setup the cgroups, and virSecurityManagerSetHostdevLabel to set the labels. When the device is removed from the guest, the code didn't use the reverse order leading to possible issues (especially if the path to the device no longer exists). This patch will move the call to qemuTeardownHostdevCgroup to prior to reattaching the device to the host.
This commit is contained in:
parent
409de00e3d
commit
2fbf29a529
@ -3039,6 +3039,9 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver,
|
||||
VIR_WARN("Failed to restore host device labelling");
|
||||
}
|
||||
|
||||
if (qemuTeardownHostdevCgroup(vm, hostdev) < 0)
|
||||
VIR_WARN("Failed to remove host device cgroup ACL");
|
||||
|
||||
switch ((virDomainHostdevSubsysType) hostdev->source.subsys.type) {
|
||||
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI:
|
||||
qemuDomainRemovePCIHostDevice(driver, vm, hostdev);
|
||||
@ -3057,9 +3060,6 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver,
|
||||
break;
|
||||
}
|
||||
|
||||
if (qemuTeardownHostdevCgroup(vm, hostdev) < 0)
|
||||
VIR_WARN("Failed to remove host device cgroup ACL");
|
||||
|
||||
virDomainHostdevDefFree(hostdev);
|
||||
|
||||
if (net) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user