[pve-devel] [PATCH pve-common 2/4] Cgroups: remove specific lxc code

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Nov 5 11:35:25 CET 2020


On Fri, Oct 30, 2020 at 10:42:15AM +0100, Alexandre Derumier wrote:
> ---
>  src/PVE/CGroup.pm | 46 ++++------------------------------------------
>  1 file changed, 4 insertions(+), 42 deletions(-)
> 
> diff --git a/src/PVE/CGroup.pm b/src/PVE/CGroup.pm
> index 7e12af9..f542b3a 100644
> --- a/src/PVE/CGroup.pm
> +++ b/src/PVE/CGroup.pm
> @@ -162,42 +161,6 @@ sub cpuset_controller_path() {
>      return wantarray ? ($CG_PATH_CPUSET, $CG_VER_CPUSET) : $CG_PATH_CPUSET;
>  }
>  
> -# Get a subdirectory (without the cgroup mount point) for a controller.
> -#
> -# If `$controller` is `undef`, get the unified (cgroupv2) path.
> -#
> -# Note that in cgroup v2, lxc uses the activated controller names
> -# (`cgroup.controllers` file) as list of controllers for the unified hierarchy,
> -# so this returns a result when a `controller` is provided even when using
> -# a pure cgroupv2 setup.
> -my sub get_subdir {

Since this is now an abstract base class, instead of removing, please
add a dummy with our usual `die "implement in subclass";`, keeping the
parameter list visible:

    sub get_subdir {
        my ($self, $controller, $limiting) = @_;
        die "imlement in subclass";
    }

> -    my ($self, $controller, $limiting) = @_;
> -
> -    my $entry_name = $controller || 'unified';
> -    my $entry = ($self->{controllers}->{$entry_name} //= {});
> -
> -    my $kind = $limiting ? 'limit' : 'ns';
> -    my $path = $entry->{$kind};
> -
> -    return $path if defined $path;
> -
> -    $path = PVE::LXC::Command::get_cgroup_path(
> -	$self->{vmid},
> -	$controller,
> -	$limiting,
> -    ) or return undef;
> -
> -    # untaint:
> -    if ($path =~ /\.\./) {
> -	die "lxc returned suspicious path: '$path'\n";
> -    }
> -    ($path) = ($path =~ /^(.*)$/s);
> -
> -    $entry->{$kind} = $path;
> -
> -    return $path;
> -}
> -
>  # Get path and version for a controller.
>  #
>  # `$controller` may be `undef`, see get_subdir above for details.





More information about the pve-devel mailing list