[pve-devel] [PATCH storage] pvesm: add scan subcommands

Thomas Lamprecht t.lamprecht at proxmox.com
Mon Nov 19 16:23:25 CET 2018


Change to a cleaner sub command interface grouping all scan commands.

Alias to old command names for backward compatibility
Best viewed with the ignore whitespace/indent change '-w' flag from
git

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
 PVE/CLI/pvesm.pm | 130 ++++++++++++++++++++++++-----------------------
 1 file changed, 66 insertions(+), 64 deletions(-)

diff --git a/PVE/CLI/pvesm.pm b/PVE/CLI/pvesm.pm
index 5967573..0432450 100755
--- a/PVE/CLI/pvesm.pm
+++ b/PVE/CLI/pvesm.pm
@@ -663,75 +663,77 @@ our $cmddef = {
 	       }],
     free => [ "PVE::API2::Storage::Content", 'delete', ['volume'],
 	      { node => $nodename } ],
-    nfsscan => [ __PACKAGE__, 'nfsscan', ['server'],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
+    scan => {
+	nfs => [ __PACKAGE__, 'nfsscan', ['server'], { node => $nodename }, sub  {
+	    my $res = shift;
 
-		     my $maxlen = 0;
-		     foreach my $rec (@$res) {
-			 my $len = length ($rec->{path});
-			 $maxlen = $len if $len > $maxlen;
-		     }
-		     foreach my $rec (@$res) {
-			 printf "%-${maxlen}s %s\n", $rec->{path}, $rec->{options};
-		     }
-		 }],
-    cifsscan => [ __PACKAGE__, 'cifsscan', ['server'],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
+	    my $maxlen = 0;
+	    foreach my $rec (@$res) {
+		my $len = length ($rec->{path});
+		$maxlen = $len if $len > $maxlen;
+	    }
+	    foreach my $rec (@$res) {
+		printf "%-${maxlen}s %s\n", $rec->{path}, $rec->{options};
+	    }
+	}],
+	cifs => [ __PACKAGE__, 'cifsscan', ['server'], { node => $nodename }, sub  {
+	    my $res = shift;
 
-		     my $maxlen = 0;
-		     foreach my $rec (@$res) {
-			 my $len = length ($rec->{share});
-			 $maxlen = $len if $len > $maxlen;
-		     }
-		     foreach my $rec (@$res) {
-			 printf "%-${maxlen}s %s\n", $rec->{share}, $rec->{description};
-		     }
-		 }],
-    glusterfsscan => [ __PACKAGE__, 'glusterfsscan', ['server'],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
+	    my $maxlen = 0;
+	    foreach my $rec (@$res) {
+		my $len = length ($rec->{share});
+		$maxlen = $len if $len > $maxlen;
+	    }
+	    foreach my $rec (@$res) {
+		printf "%-${maxlen}s %s\n", $rec->{share}, $rec->{description};
+	    }
+	}],
+	glusterfs => [ __PACKAGE__, 'glusterfsscan', ['server'], { node => $nodename }, sub  {
+	    my $res = shift;
 
-		     foreach my $rec (@$res) {
-			 printf "%s\n", $rec->{volname};
-		     }
-		 }],
-    iscsiscan => [ __PACKAGE__, 'iscsiscan', ['portal'],
-		   { node => $nodename }, sub  {
-		       my $res = shift;
+	    foreach my $rec (@$res) {
+		printf "%s\n", $rec->{volname};
+	    }
+	}],
+	iscsi => [ __PACKAGE__, 'iscsiscan', ['portal'], { node => $nodename }, sub  {
+	    my $res = shift;
 
-		       my $maxlen = 0;
-		       foreach my $rec (@$res) {
-			   my $len = length ($rec->{target});
-			   $maxlen = $len if $len > $maxlen;
-		       }
-		       foreach my $rec (@$res) {
-			   printf "%-${maxlen}s %s\n", $rec->{target}, $rec->{portal};
-		       }
-		   }],
-    lvmscan => [ __PACKAGE__, 'lvmscan', [],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
-		     foreach my $rec (@$res) {
-			 printf "$rec->{vg}\n";
-		     }
-		 }],
-    lvmthinscan => [ __PACKAGE__, 'lvmthinscan', ['vg'],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
-		     foreach my $rec (@$res) {
-			 printf "$rec->{lv}\n";
-		     }
-		 }],
-    zfsscan => [ __PACKAGE__, 'zfsscan', [],
-		 { node => $nodename }, sub  {
-		     my $res = shift;
+	    my $maxlen = 0;
+	    foreach my $rec (@$res) {
+		my $len = length ($rec->{target});
+		$maxlen = $len if $len > $maxlen;
+	    }
+	    foreach my $rec (@$res) {
+		printf "%-${maxlen}s %s\n", $rec->{target}, $rec->{portal};
+	    }
+	}],
+	lvm => [ __PACKAGE__, 'lvmscan', [], { node => $nodename }, sub  {
+	    my $res = shift;
+	    foreach my $rec (@$res) {
+		printf "$rec->{vg}\n";
+	    }
+	}],
+	lvmthin => [ __PACKAGE__, 'lvmthinscan', ['vg'], { node => $nodename }, sub  {
+	    my $res = shift;
+	    foreach my $rec (@$res) {
+		printf "$rec->{lv}\n";
+	    }
+	}],
+	zfs => [ __PACKAGE__, 'zfsscan', [], { node => $nodename }, sub  {
+	    my $res = shift;
 
-		     foreach my $rec (@$res) {
-			 printf "$rec->{pool}\n";
-		     }
-		 }],
+	    foreach my $rec (@$res) {
+		 printf "$rec->{pool}\n";
+	    }
+	}],
+    },
+    nfsscan => { alias => 'scan nfs' },
+    cifsscan => { alias => 'scan cifs' },
+    glusterfsscan => { alias => 'scan glusterfs' },
+    iscsiscan => { alias => 'scan iscsi' },
+    lvmscan => { alias => 'scan lvm' },
+    lvmthinscan => { alias => 'scan lvmthin' },
+    zfsscan => { alias => 'scan zfs' },
     path => [ __PACKAGE__, 'path', ['volume']],
     extractconfig => [__PACKAGE__, 'extractconfig', ['volume']],
     export => [ __PACKAGE__, 'export', ['volume', 'format', 'filename']],
-- 
2.19.1





More information about the pve-devel mailing list