[pve-devel] [PATCH container 0/2] Improve volume deactivation

Fabian Ebner f.ebner at proxmox.com
Thu Dec 2 08:40:39 CET 2021

Am 01.12.21 um 17:27 schrieb Aaron Lauterer:
> On 12/1/21 11:12, Fabian Ebner wrote:
>> Am 26.11.21 um 11:19 schrieb Aaron Lauterer:
>>> While working on the reassign feature we (F.Ebner & I) discovered that
>>> it is possible, mainly with RBD volumes, to get into situations where it
>>> is not possible to remove that volume as an old orphaned RBD mapping
>>> still exists.
>>> Mainly when converting a container on RBD storage to a template and when
>>> adding a new MP to a container that is not running and reassigning that
>>> MP right away to another container.
>> I feel like cleaning up such things should be the responsibility of 
>> the storage plugin itself. It knows best when a volume gets a new name 
>> and what needs to happen if there is still something using the old 
>> name around.
>> For example, after a full clone, volumes from both containers will be 
>> active and then reassigning or converting to template will lead to the 
>> issue again. There are likely other places where we don't cleanly 
>> deactivate. Of course we could try and hunt them all down ;), but 
>> quoting from [0]:
>> this is fundamentally how volume activation works in PVE - we activate 
>> (and skip the expensive parts if already activated) often, but are 
>> very careful about de-activating only where necessary (shared volumes 
>> when migrating) or clearly 100% right (error handling before removing 
>> a newly allocated volume for example).
>> [0]: https://bugzilla.proxmox.com/show_bug.cgi?id=3756#c3
> Hmm okay yeah, definitely valid regarding the second patch. But the 
> first one would still be valid AFAIU because I don't understand why we 
> activate the volumes when creating a template for containers only, but 
> not for VMs if we don't need to do anything in the volume. So not 
> activating it in the first place would help at least in that case.

Sorry, I didn't mean to imply that the patches were wrong, just wanted 
to point out that they don't fully address the issue.

>>> Aaron Lauterer (2):
>>>    template_create: remove volume activation
>>>    apply_pending_mountpoint: deactivate volumes if not running
>>>   src/PVE/LXC.pm        | 2 --
>>>   src/PVE/LXC/Config.pm | 2 ++
>>>   2 files changed, 2 insertions(+), 2 deletions(-)

More information about the pve-devel mailing list