]> git.proxmox.com Git - pve-container.git/commitdiff
migrate: aquire guest_migration_lock during
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 31 May 2017 06:21:08 +0000 (08:21 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 31 May 2017 06:21:08 +0000 (08:21 +0200)
To block replication jobs.

src/PVE/API2/LXC.pm

index a23b944a3c3cd6e09137eb2f40aff94390a3fab1..8db4fab08448e5406486d4055bd36b528443e522 100644 (file)
@@ -17,6 +17,7 @@ use PVE::ReplicationConfig;
 use PVE::LXC;
 use PVE::LXC::Create;
 use PVE::LXC::Migrate;
+use PVE::GuestHelpers;
 use PVE::API2::LXC::Config;
 use PVE::API2::LXC::Status;
 use PVE::API2::LXC::Snapshot;
@@ -927,15 +928,19 @@ __PACKAGE__->register_method({
 
        } else {
 
-           my $realcmd = sub {
-               my $upid = shift;
+           my $code = sub {
+               my $realcmd = sub {
+                   my $upid = shift;
 
-               PVE::LXC::Migrate->migrate($target, $targetip, $vmid, $param);
+                   PVE::LXC::Migrate->migrate($target, $targetip, $vmid, $param);
 
-               return;
+                   return;
+               };
+
+               return $rpcenv->fork_worker('vzmigrate', $vmid, $authuser, $realcmd);
            };
 
-           return $rpcenv->fork_worker('vzmigrate', $vmid, $authuser, $realcmd);
+           return PVE::GuestHelpers::guest_migration_lock($vmid, 10, $code);
        }
     }});