From 81dcd4799f2f7175f8233896d436c233b29d0d2a Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 19 Mar 2020 18:32:00 +0100 Subject: [PATCH] vzdump: factor out _get_task_devlist Signed-off-by: Thomas Lamprecht --- PVE/VZDump/QemuServer.pm | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm index cca33511..c6dc9905 100644 --- a/PVE/VZDump/QemuServer.pm +++ b/PVE/VZDump/QemuServer.pm @@ -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) = @_;