[pve-devel] [PATCH v4 container 06/12] split open_namespace out of enter_namespace

Wolfgang Bumiller w.bumiller at proxmox.com
Wed Nov 20 08:31:01 CET 2019


Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
 src/PVE/LXC.pm | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
index e5b765a..2a79327 100644
--- a/src/PVE/LXC.pm
+++ b/src/PVE/LXC.pm
@@ -1029,12 +1029,18 @@ sub update_ipconfig {
 
 }
 
+my $open_namespace = sub {
+    my ($vmid, $pid, $kind) = @_;
+    sysopen my $fd, "/proc/$pid/ns/$kind", O_RDONLY
+	or die "failed to open $kind namespace of container $vmid: $!\n";
+    return $fd;
+};
+
 my $enter_namespace = sub {
-    my ($vmid, $pid, $which, $type) = @_;
-    sysopen my $fd, "/proc/$pid/ns/$which", O_RDONLY
-	or die "failed to open $which namespace of container $vmid: $!\n";
+    my ($vmid, $pid, $kind, $type) = @_;
+    my $fd = $open_namespace->($vmid, $pid, $kind);
     PVE::Tools::setns(fileno($fd), $type)
-	or die "failed to enter $which namespace of container $vmid: $!\n";
+	or die "failed to enter $kind namespace of container $vmid: $!\n";
     close $fd;
 };
 
-- 
2.20.1





More information about the pve-devel mailing list