Mailing List Archive

linstor-proxmox v6.0.1
Dear DRBD/LINSTOR/PVE users,

this is linstor-proxmox plugin version 6.0.1. This was triggered by a
bug report[1] and fixes cloning container storage from snapshots in
several ways. There have not been any changes since 6.0.1-rc.1.

When one clones a container from a snapshot, PVE does:
- activate_volume() a new LINSTOR resource based on the snapshot
(snap_$snapname...).
- create the new image vm-$id... (alloc_image()).
- internally copies the content from that "temporary" snapshot resource
to the new image.

This had several problems:
- if a second clone was created we failed as the "temporary" snapshot
DRBD resource already existed.
- we never removed that "temporary" resource.

The first part is easy, only create that LINSTOR/DRBD resource when
needed, otherwise skip it, that resource is supposed to be read-only.

Deleting is more involved as to my best knowledge we don't get any
"deactivate" call to delete that resource after the copy finished. The
best we can do is to keep that resource and delete it on
volume_snapshot_delete(). We saw that problem already when implementing
vzdump support. I think we can assume that we always want to delete that
snapshot resource when the actual snapshot is removed.

This means that between the clone(s) and the time the base snapshot gets
removed, we keep that temporary/unnecessary resource. But IMO that is
the best we can do and certainly better than not deleting it at all.

Regards, rck

GIT: https://github.com/LINBIT/linstor-proxmox/commit/c38e52a6fb0634f19b054fffed905464153f947c
TGZ: https://pkg.linbit.com//downloads/connectors/linstor-proxmox-6.0.1.tar.gz

[1] https://github.com/LINBIT/linstor-proxmox/issues/51