When an attempt was made to clone a locked container the API would
correctly present the error 'CT is locked (disk)' but create the
config files for the new container anyway and then abort.

The fix is to simply check whether the CT config is locked before
creating the configs for the new container.

Signed-off-by: Daniel Tschlatscher <d.tschlatsc...@proxmox.com>
---
 src/PVE/API2/LXC.pm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 64724cb..e1b4cd3 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -1461,9 +1461,6 @@ __PACKAGE__->register_method({
        my $vollist = [];
        my $running;
 
-       PVE::LXC::Config->create_and_lock_config($newid, 0);
-       PVE::Firewall::clone_vmfw_conf($vmid, $newid);
-
        my $lock_and_reload = sub {
            my ($vmid, $code) = @_;
            return PVE::LXC::Config->lock_config($vmid, sub {
@@ -1477,6 +1474,9 @@ __PACKAGE__->register_method({
 
        my $src_conf = PVE::LXC::Config->set_lock($vmid, 'disk');
 
+       PVE::LXC::Config->create_and_lock_config($newid, 0);
+       PVE::Firewall::clone_vmfw_conf($vmid, $newid);
+
        $running = PVE::LXC::check_running($vmid) || 0;
 
        my $full = extract_param($param, 'full');
-- 
2.30.2



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

Reply via email to