moved code to GuestHelpers for feature parity with pct

Signed-off-by: Oguz Bektas <o.bek...@proxmox.com>
---
 PVE/CLI/qm.pm | 53 +--------------------------------------------------
 1 file changed, 1 insertion(+), 52 deletions(-)

diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm
index 17935d0..bc9e227 100755
--- a/PVE/CLI/qm.pm
+++ b/PVE/CLI/qm.pm
@@ -933,58 +933,7 @@ our $cmddef = {
 
     delsnapshot => [ "PVE::API2::Qemu", 'delsnapshot', ['vmid', 'snapname'], { 
node => $nodename } , $upid_exit ],
 
-    listsnapshot => [ "PVE::API2::Qemu", 'snapshot_list', ['vmid'], { node => 
$nodename },
-                   sub {
-                       my $res = shift;
-
-                       my $snapshots = { map { $_->{name} => $_ } @$res };
-
-                       my @roots;
-                       foreach my $e (@$res) {
-                           my $parent;
-                           if (($parent = $e->{parent}) && defined 
$snapshots->{$parent}) {
-                               push @{$snapshots->{$parent}->{children}}, 
$e->{name};
-                           } else {
-                               push @roots, $e->{name};
-                           }
-                       }
-
-                       # sort the elements by snaptime - with "current" (no 
snaptime) highest
-                       my $snaptimesort = sub {
-                           return +1 if !defined $snapshots->{$a}->{snaptime};
-                           return -1 if !defined $snapshots->{$b}->{snaptime};
-                           return $snapshots->{$a}->{snaptime} <=> 
$snapshots->{$b}->{snaptime};
-                       };
-
-                       # recursion function for displaying the tree
-                       my $snapshottree;
-                       $snapshottree = sub {
-                           my ($prefix, $root, $snapshots) = @_;
-                           my $e = $snapshots->{$root};
-
-                           my $description = $e->{description} || 
'no-description';
-                           ($description) = $description =~ m/(.*)$/m;
-
-                           my $timestring = "";
-                           if (defined $e->{snaptime}) {
-                               $timestring = strftime("%F %H:%M:%S", 
localtime($e->{snaptime}));
-                           }
-
-                           my $len = 30 - length($prefix); # for aligning the 
description
-                           printf("%s %-${len}s %-23s %s\n", $prefix, $root, 
$timestring, $description);
-
-                           if ($e->{children}) {
-                               $prefix = "    $prefix";
-                               foreach my $child (sort $snaptimesort 
@{$e->{children}}) {
-                                   $snapshottree->($prefix, $child, 
$snapshots);
-                               }
-                           }
-                       };
-
-                       foreach my $root (sort $snaptimesort @roots) {
-                           $snapshottree->('`->', $root, $snapshots);
-                       }
-                   }],
+    listsnapshot => [ "PVE::API2::Qemu", 'snapshot_list', ['vmid'], { node => 
$nodename }, \&PVE::GuestHelpers::print_snapshot_tree],
 
     rollback => [ "PVE::API2::Qemu", 'rollback', ['vmid', 'snapname'], { node 
=> $nodename } , $upid_exit ],
 
-- 
2.20.1

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to