On November 9, 2021 10:06 am, Fabian Ebner wrote:
> I feel like map_id should be moved to pve-common, so that it can be 
> re-used in other places (pve-container will need it too), and so that no 
> package boundary needs to be crossed if we ever need to adapt the 
> internals of the idmap.

yeah, likely some other parts as well (either to guest-common, common or 
storage, once we extend this mechanism to cover ZFS replication and 
container migration)

> 
> Am 05.11.21 um 14:03 schrieb Fabian Grünbichler:
>> since we are going to reuse the same mechanism/code for network bridge
>> mapping.
>> 
>> Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
>> ---
>>   PVE/QemuMigrate.pm | 6 +++---
>>   PVE/QemuServer.pm  | 6 ++++--
>>   2 files changed, 7 insertions(+), 5 deletions(-)
>> 
>> diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
>> index ae3eaf1..779f5ee 100644
>> --- a/PVE/QemuMigrate.pm
>> +++ b/PVE/QemuMigrate.pm
>> @@ -342,7 +342,7 @@ sub prepare {
>>      my $targetsid = $sid;
>>      # NOTE: we currently ignore shared source storages in mappings so skip 
>> here too for now
>>      if (!$scfg->{shared}) {
>> -        $targetsid = 
>> PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $sid);
>> +        $targetsid = PVE::QemuServer::map_id($self->{opts}->{storagemap}, 
>> $sid);
>>      }
>>   
>>      my $target_scfg = PVE::Storage::storage_check_enabled($storecfg, 
>> $targetsid, $self->{node});
>> @@ -408,7 +408,7 @@ sub scan_local_volumes {
>>   
>>          next if @{$dl->{$storeid}} == 0;
>>   
>> -        my $targetsid = 
>> PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $storeid);
>> +        my $targetsid = 
>> PVE::QemuServer::map_id($self->{opts}->{storagemap}, $storeid);
>>          # check if storage is available on target node
>>          my $target_scfg = PVE::Storage::storage_check_enabled(
>>              $storecfg,
>> @@ -479,7 +479,7 @@ sub scan_local_volumes {
>>          my $targetsid = $sid;
>>          # NOTE: we currently ignore shared source storages in mappings so 
>> skip here too for now
>>          if (!$scfg->{shared}) {
>> -            $targetsid = 
>> PVE::QemuServer::map_storage($self->{opts}->{storagemap}, $sid);
>> +            $targetsid = 
>> PVE::QemuServer::map_id($self->{opts}->{storagemap}, $sid);
>>          }
>>   
>>          PVE::Storage::storage_check_enabled($storecfg, $targetsid, 
>> $self->{node});
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index a0e1809..23e7b08 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -120,7 +120,9 @@ 
>> PVE::JSONSchema::register_standard_option('pve-qemu-machine', {
>>   });
>>   
>>   
>> -sub map_storage {
>> +# maps source to target ID
>> +# currently used for targetstorage and targetbridge when migrating
>> +sub map_id {
>>       my ($map, $source) = @_;
>>   
>>       return $source if !defined($map);
>> @@ -5264,7 +5266,7 @@ sub vm_migrate_alloc_nbd_disks {
>>      # volume is not available there, fall back to the default format.
>>      # Otherwise use the same format as the original.
>>      if (!$storagemap->{identity}) {
>> -        $storeid = map_storage($storagemap, $storeid);
>> +        $storeid = map_id($storagemap, $storeid);
>>          my ($defFormat, $validFormats) = 
>> PVE::Storage::storage_default_format($storecfg, $storeid);
>>          my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
>>          my $fileFormat = qemu_img_format($scfg, $volname);
>> 
> 


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

Reply via email to