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...
See-also: https://forum.proxmox.com/threads/short-read-on-command-socket-error-when-running-backup-of-lxc-containers.82978/
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
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;