From: Andrei Perapiolkin via pve-devel <pve-devel@lists.proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
Subject: [pve-devel] [storage] Lack of deactivate_volume call after cloning from a snapshot
Date: Tue, 30 Sep 2025 18:39:32 -0400 [thread overview]
Message-ID: <mailman.534.1759272790.390.pve-devel@lists.proxmox.com> (raw)
[-- Attachment #1: Type: message/rfc822, Size: 8933 bytes --]
From: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: [pve-devel][storage] Lack of deactivate_volume call after cloning from a snapshot
Date: Tue, 30 Sep 2025 18:39:32 -0400
Message-ID: <5e0aef43-3698-4784-8ca3-448eb3f19709@open-e.com>
Hi,
'deactivate_volume' in the storage plugin is not called after cloning
completes if the clone is initiated from the Proxmox web UI and both VMs
are on the same host.
I’ve created a bug report: https://bugzilla.proxmox.com/show_bug.cgi?id=6879
In my understanding, the problem is related to:
/method({ name => 'clone_vm', path => '{vmid}/clone', ...
/
Located in PVE/API2/Qemu.pm around 1459 - 4568
In this API method, deactivation calls are triggered only when the
$target parameter is provided.
if ($target) {
if (!$running) {
# always deactivate volumes - avoids that LVM
LVs are active on several nodes
eval {
PVE::Storage::deactivate_volumes($storecfg, $vollist, $snapname);
};
# but only warn when that fails (e.g., parallel
clones keeping them active)
log_warn($@) if $@;
}
PVE::Storage::deactivate_volumes($storecfg,
$newvollist);
my $newconffile =
PVE::QemuConfig->config_file($newid, $target);
die "Failed to move config to node '$target' -
rename failed: $!\n"
if !rename($conffile, $newconffile);
}
https://github.com/proxmox/qemu-server/blob/31d6f5f63bd6edb6c43de3e0213d38199c350cd4/src/PVE/API2/Qemu.pm#L4533C1-L4547C18
It seems that web UI, for cloning on the same node, does not provide
'$target' and as a result no deactivation being triggered volume
snapshot and target volume.
Is it expected behavior?
Will it be OK to move 'deactivate' section outside of the $target check?
Best regards,
Andrei Perepiolkin
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
reply other threads:[~2025-09-30 22:53 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mailman.534.1759272790.390.pve-devel@lists.proxmox.com \
--to=pve-devel@lists.proxmox.com \
--cc=andrei.perepiolkin@open-e.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox