migrate: aquire guest_migration_lock during migration

To block replication jobs.
This commit is contained in:
Dietmar Maurer 2017-05-24 09:20:06 +02:00
parent 628bb7f231
commit 95f42d61fa

View File

@ -16,6 +16,7 @@ use PVE::Storage;
use PVE::JSONSchema qw(get_standard_option);
use PVE::RESTHandler;
use PVE::ReplicationConfig;
use PVE::GuestHelpers;
use PVE::QemuConfig;
use PVE::QemuServer;
use PVE::QemuMigrate;
@ -2856,13 +2857,17 @@ __PACKAGE__->register_method({
} else {
my $realcmd = sub {
my $upid = shift;
my $code = sub {
my $realcmd = sub {
my $upid = shift;
PVE::QemuMigrate->migrate($target, $targetip, $vmid, $param);
PVE::QemuMigrate->migrate($target, $targetip, $vmid, $param);
};
return $rpcenv->fork_worker('qmigrate', $vmid, $authuser, $realcmd);
};
return $rpcenv->fork_worker('qmigrate', $vmid, $authuser, $realcmd);
return PVE::GuestHelpers::guest_migration_lock($vmid, 10, $code);
}
}});