mirror of
				https://git.proxmox.com/git/qemu-server
				synced 2025-11-04 07:58:10 +00:00 
			
		
		
		
	collect and log origin of found local volumes
just knowing that local disks prevent a migration is not very helpful, so be a bit more verbose here.
This commit is contained in:
		
							parent
							
								
									0622ddfbbe
								
							
						
					
					
						commit
						d62fcf74a7
					
				@ -246,7 +246,7 @@ sub sync_disks {
 | 
			
		||||
	    PVE::Storage::foreach_volid($dl, sub {
 | 
			
		||||
		my ($volid, $sid, $volname) = @_;
 | 
			
		||||
 | 
			
		||||
		$volhash->{$volid} = 1;
 | 
			
		||||
		$volhash->{$volid} = 'storage';
 | 
			
		||||
	    });
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -272,6 +272,8 @@ sub sync_disks {
 | 
			
		||||
 | 
			
		||||
	    $sharedvm = 0;
 | 
			
		||||
 | 
			
		||||
	    $volhash->{$volid} = defined($snapname) ? 'snapshot' : 'config';
 | 
			
		||||
 | 
			
		||||
	    die "can't migrate local cdrom '$volid'\n" if $is_cdrom;
 | 
			
		||||
 | 
			
		||||
	    my ($path, $owner) = PVE::Storage::path($self->{storecfg}, $volid);
 | 
			
		||||
@ -286,14 +288,11 @@ sub sync_disks {
 | 
			
		||||
		my $format = PVE::QemuServer::qemu_img_format($scfg, $volname);
 | 
			
		||||
 | 
			
		||||
		if (($scfg->{type} eq 'zfspool') || ($format eq 'qcow2')) {
 | 
			
		||||
		    $volhash->{$volid} = 1;
 | 
			
		||||
		    return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		die "can't migrate snapshot of local volume '$volid'\n";
 | 
			
		||||
 | 
			
		||||
	    } else {
 | 
			
		||||
		$volhash->{$volid} = 1;
 | 
			
		||||
	    }
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
@ -310,6 +309,18 @@ sub sync_disks {
 | 
			
		||||
	    PVE::QemuServer::foreach_drive($conf->{snapshots}->{$snapname}, $test_drive, $snapname);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	foreach my $vol (sort keys %$volhash) {
 | 
			
		||||
	    if ($volhash->{$vol} eq 'storage') {
 | 
			
		||||
		$self->log('info', "found local disk '$vol' (via storage)\n");
 | 
			
		||||
	    } elsif ($volhash->{$vol} eq 'config') {
 | 
			
		||||
		$self->log('info', "found local disk '$vol' (in current VM config)\n");
 | 
			
		||||
	    } elsif ($volhash->{$vol} eq 'snapshot') {
 | 
			
		||||
		$self->log('info', "found local disk '$vol' (referenced by snapshot(s))\n");
 | 
			
		||||
	    } else {
 | 
			
		||||
		$self->log('info', "found local disk '$vol'\n");
 | 
			
		||||
	    }
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ($self->{running} && !$sharedvm) {
 | 
			
		||||
	    die "can't do online migration - VM uses local disks\n";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user