Should this go to pve-common? Signed-off-by: Wolfgang Bumiller <w.bumil...@proxmox.com> --- src/PVE/LXC.pm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index c590fc8..9e25ad4 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -464,6 +464,30 @@ sub get_cgroup_subsystems { return wantarray ? ($v1, $v2) : $v1; } +# Check if the kernel is at least $major.$minor. Return either just a boolean, +# or a boolean and the kernel version's major minor numbers we parsed out of +# uname's release string. +sub check_kernel_release { + my ($major, $minor) = @_; + + my (undef, undef, $release) = POSIX::uname(); + + my ($result, $k_major, $k_minor) = (0, 'unknown', 'unknown'); + + if ($release =~ /^(\d+)\.(\d+)(?:$|\.)/) { + ($k_major, $k_minor) = ($1, $2); + + if (defined($minor)) { + $result = $k_major > $major + || ($k_major == $major && $k_minor >= $minor); + } else { + $result = $k_major >= $major; + } + } + + return wantarray ? ($result, "$k_major.$k_minor") : $result; +} + # With seccomp trap to userspace we now have the ability to optionally forward # certain syscalls to the "host" to handle (via our pve-lxc-syscalld daemon). # -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel