[pve-devel] [PATCH pve-storage] fix #1611: implement import of base-images for LVM-thin Storage

Fiona Ebner f.ebner at proxmox.com
Mon Nov 13 14:39:41 CET 2023


Am 13.11.23 um 14:13 schrieb Hannes Dürr:
> 
> On 11/3/23 11:39, Fiona Ebner wrote:
>> 1. check if base
>> 2. check if already exists/rename allowed
>> 3. call parent plugin's volume_import function passing along
>> vm-XYZ-disk-N (or undef if it should be renamed) instead of
>> base-XYZ-disk-N
>> 4. if it was a base image, handle the conversion to base image
>>
>> Then there's no need for new helpers either. But this is just a sketch
>> of course, didn't think through all details. What do you think?
> that sounds good so far, but you can't get around the
> "find_free_diskspace()" call, can you ?
> Not specifying a name leads to an error in the volume_import of the LVM
> plugin,

Oh, I see.

> because without a name no plugin can be parsed and to get a new name in
> the style
> of "vm-XYZ-disk-N" you need "find_free_diskspace()" to make sure that
> the name does not yet exist,
> or am I missing something ?
> > So I'd propose:
> 
> 1. check if base
> 2. check if already exists/rename allowed
> 3. call parent plugin's volume_import function passing along
> vm-XYZ-disk-N generated with "find_free_diskspace(), instead of
> base-XYZ-disk-N

Yes. And while not super important, we might want to preserve the N in
the suffix (or custom disk names). This can be done by only calling
find_free_diskname() if an image with the name already exists and the
image can be renamed. Otherwise, we can just pass the name with "base-"
replaced by "vm-" instead of invoking find_free_diskname().

> 4. if it was a base image, handle the conversion to base image
> 





More information about the pve-devel mailing list