]> git.proxmox.com Git - qemu-server.git/commitdiff
vzdump: factor out _get_task_devlist
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 19 Mar 2020 17:32:00 +0000 (18:32 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 19 Mar 2020 17:32:00 +0000 (18:32 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
PVE/VZDump/QemuServer.pm

index cca335119c8842a6d48bda30cc3a135c84b4d21a..c6dc99051ec3134c38e040c9660b2f24ddbe25e8 100644 (file)
@@ -380,14 +380,8 @@ sub archive_pbs {
        return;
     }
 
-    my $devlist = '';
-    foreach my $di (@{$task->{disks}}) {
-       if ($di->{type} eq 'block' || $di->{type} eq 'file') {
-           $devlist .= $devlist ? ",$di->{qmdevice}" : $di->{qmdevice};
-       } else {
-           die "implement me";
-       }
-    }
+    # get list early so we die on unkown drive types before doing anything
+    my $devlist = _get_task_devlist($task);
 
     my $stop_after_backup;
     my $resume_on_backup;
@@ -563,15 +557,7 @@ sub archive_vma {
        return;
     }
 
-
-    my $devlist = '';
-    foreach my $di (@{$task->{disks}}) {
-       if ($di->{type} eq 'block' || $di->{type} eq 'file') {
-           $devlist .= $devlist ? ",$di->{qmdevice}" : $di->{qmdevice};
-       } else {
-           die "implement me";
-       }
-    }
+    my $devlist = _get_task_devlist($task);
 
     my $stop_after_backup;
     my $resume_on_backup;
@@ -773,6 +759,21 @@ sub archive_vma {
     }
 }
 
+sub _get_task_devlist {
+    my ($task) = @_;
+
+    my $devlist = '';
+    foreach my $di (@{$task->{disks}}) {
+       if ($di->{type} eq 'block' || $di->{type} eq 'file') {
+           $devlist .= ',' if $devlist;
+           $devlist .= $di->{qmdevice};
+       } else {
+           die "implement me (type '$di->{type}')";
+       }
+    }
+    return $devlist;
+}
+
 sub snapshot {
     my ($self, $task, $vmid) = @_;