by re-using the log_error-closure and not dying too early. In the case of
unreferenced volumes, it was not clear why a certain storage would be required
for migration. Now, the list of all volumes is always printed, and in
the error case, all problems will be printed before we abort.

Reported-by: Thomas Lamprecht <t.lampre...@proxmox.com>
Signed-off-by: Fabian Ebner <f.eb...@proxmox.com>
---
 PVE/QemuMigrate.pm | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 5c019fc..3597cc9 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -400,12 +400,19 @@ sub sync_disks {
 
            my $targetsid = 
PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $storeid);
            # check if storage is available on target node
-           PVE::Storage::storage_check_node($storecfg, $targetsid, 
$self->{node});
+           my $target_scfg = PVE::Storage::storage_check_node(
+               $storecfg,
+               $targetsid,
+               $self->{node},
+               1,
+           );
+
+           $log_error->("storage '$targetsid' is not available on node 
'$self->{node}'")
+               if !$target_scfg;
 
            # grandfather in existing mismatches
-           if ($targetsid ne $storeid) {
-               my $target_scfg = PVE::Storage::storage_config($storecfg, 
$targetsid);
-               die "content type 'images' is not available on storage 
'$targetsid'\n"
+           if ($targetsid ne $storeid && $target_scfg) {
+               $log_error->("content type 'images' is not available on storage 
'$targetsid'")
                    if !$target_scfg->{content}->{images};
            }
 
-- 
2.20.1



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

Reply via email to