[pve-devel] [PATCH pve-container 1/4] factor query_loopdev into PVE::LXC

Wolfgang Bumiller w.bumiller at proxmox.com
Fri Nov 20 14:04:26 CET 2015


---
 src/PVE/API2/LXC.pm | 16 +---------------
 src/PVE/LXC.pm      | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 0a80dfc..e362379 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -1007,20 +1007,6 @@ __PACKAGE__->register_method({
 
 	my $storage_cfg = cfs_read_file("storage.cfg");
 
-	my $query_loopdev = sub {
-	    my ($path) = @_;
-	    my $found;
-	    my $parser = sub {
-		my $line = shift;
-		if ($line =~ m@^(/dev/loop\d+):@) {
-		    $found = $1;
-		}
-	    };
-	    my $cmd = ['losetup', '--associated', $path];
-	    PVE::Tools::run_command($cmd, outfunc => $parser);
-	    return $found;
-	};
-
 	my $code = sub {
 
 	    my $conf = PVE::LXC::load_config($vmid);
@@ -1072,7 +1058,7 @@ __PACKAGE__->register_method({
 
 			$mp->{mp} = '/';
 			my $use_loopdev = (PVE::LXC::mountpoint_mount_path($mp, $storage_cfg))[1];
-			$path = &$query_loopdev($path) if $use_loopdev;
+			$path = PVE::LXC::query_loopdev($path) if $use_loopdev;
 			die "internal error: CT running but mountpoint not attached to a loop device"
 			    if !$path;
 			PVE::Tools::run_command(['losetup', '--set-capacity', $path]) if $use_loopdev;
diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
index 6775fe3..52f1077 100644
--- a/src/PVE/LXC.pm
+++ b/src/PVE/LXC.pm
@@ -2109,6 +2109,20 @@ my $check_mount_path = sub {
     }
 };
 
+sub query_loopdev {
+    my ($path) = @_;
+    my $found;
+    my $parser = sub {
+	my $line = shift;
+	if ($line =~ m@^(/dev/loop\d+):@) {
+	    $found = $1;
+	}
+    };
+    my $cmd = ['losetup', '--associated', $path];
+    PVE::Tools::run_command($cmd, outfunc => $parser);
+    return $found;
+}
+
 # use $rootdir = undef to just return the corresponding mount path
 sub mountpoint_mount {
     my ($mountpoint, $rootdir, $storage_cfg, $snapname) = @_;
-- 
2.1.4




More information about the pve-devel mailing list