mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-16 06:18:58 +00:00
Merge pull request #1491 from teawater/factory_leak
qemu: Remove the storage directories if qemu get from the factory
This commit is contained in:
@@ -279,6 +279,10 @@ type HypervisorConfig struct {
|
||||
|
||||
// GuestHookPath is the path within the VM that will be used for 'drop-in' hooks
|
||||
GuestHookPath string
|
||||
|
||||
// VMid is the id of the VM that create the hypervisor if the VM is created by the factory.
|
||||
// VMid is "" if the hypervisor is not created by the factory.
|
||||
VMid string
|
||||
}
|
||||
|
||||
// vcpu mapping from vcpu number to thread number
|
||||
|
@@ -690,6 +690,17 @@ func (q *qemu) cleanupVM() error {
|
||||
}
|
||||
}
|
||||
|
||||
if q.config.VMid != "" {
|
||||
dir = store.SandboxConfigurationRootPath(q.config.VMid)
|
||||
if err := os.RemoveAll(dir); err != nil {
|
||||
q.Logger().WithError(err).WithField("path", dir).Warnf("failed to remove vm path")
|
||||
}
|
||||
dir = store.SandboxRuntimeRootPath(q.config.VMid)
|
||||
if err := os.RemoveAll(dir); err != nil {
|
||||
q.Logger().WithError(err).WithField("path", dir).Warnf("failed to remove vm path")
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@@ -461,6 +461,7 @@ func (v *VM) assignSandbox(s *Sandbox) error {
|
||||
}
|
||||
|
||||
s.hypervisor = v.hypervisor
|
||||
s.config.HypervisorConfig.VMid = v.id
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user