qemu_process: Destroy domain's namespace after killing QEMU

After QEMU is killed in qemuProcessStop() its mount namespace
doesn't exist anymore, because it was the only process running
there. Thus we should clear our internal flag that the domain has
namespace enabled so that seclabel restore code does not try to
enter it. We do the same in qemuProcessHandleMonitorEOF() but
when it is us, who decides to kill QEMU rather than QEMU quitting
we haven't seen EOF by the time qemuProcessStop() is called.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Michal Privoznik 2022-08-03 12:27:19 +02:00
parent 550bf7682d
commit 589536e75d

View File

@ -8265,6 +8265,9 @@ void qemuProcessStop(virQEMUDriver *driver,
VIR_QEMU_PROCESS_KILL_FORCE| VIR_QEMU_PROCESS_KILL_FORCE|
VIR_QEMU_PROCESS_KILL_NOCHECK)); VIR_QEMU_PROCESS_KILL_NOCHECK));
/* Its namespace is also gone then. */
qemuDomainDestroyNamespace(driver, vm);
qemuDomainCleanupRun(driver, vm); qemuDomainCleanupRun(driver, vm);
qemuExtDevicesStop(driver, vm); qemuExtDevicesStop(driver, vm);