[pve-devel] [PATCH container] use monitor commands to freeze on pure-v2 setups
Wolfgang Bumiller
w.bumiller at proxmox.com
Mon Jan 25 12:05:32 CET 2021
even an explicit query for the 'unified' cgroup hierarchy
does not work on lxc when run in a pure v2 environment via
the kernel options
systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all
so let's use the freeze commands provided by lxc we already
have code for...
Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
See-also: https://forum.proxmox.com/threads/short-read-on-command-socket-error-when-running-backup-of-lxc-containers.82978/
---
src/PVE/LXC.pm | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
index e7a6951..7e84a0e 100644
--- a/src/PVE/LXC.pm
+++ b/src/PVE/LXC.pm
@@ -2463,12 +2463,20 @@ sub get_lxc_version() {
sub freeze($) {
my ($vmid) = @_;
- PVE::LXC::CGroup->new($vmid)->freeze_thaw(1);
+ if (PVE::CGroup::cgroup_mode() == 2) {
+ PVE::LXC::Command::freeze($vmid, 30);
+ } else {
+ PVE::LXC::CGroup->new($vmid)->freeze_thaw(1);
+ }
}
sub thaw($) {
my ($vmid) = @_;
- PVE::LXC::CGroup->new($vmid)->freeze_thaw(0);
+ if (PVE::CGroup::cgroup_mode() == 2) {
+ PVE::LXC::Command::unfreeze($vmid, 30);
+ } else {
+ PVE::LXC::CGroup->new($vmid)->freeze_thaw(0);
+ }
}
1;
--
2.20.1
More information about the pve-devel
mailing list