mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-03 15:45:49 +00:00
qmp drive-mirror : set big timeout
drive-mirror is doing lseek on source image before starting, and this can take a lot of time for big nfs volume during this time, qmp socket is hanging http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg01838.html so we need to setup a big timeout qemu devs are currently working to fix this Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
This commit is contained in:
parent
ad123d97f9
commit
38e0c3b8ae
@ -6092,14 +6092,16 @@ sub qemu_drive_mirror {
|
||||
|
||||
my $dst_path = PVE::Storage::path($storecfg, $dst_volid);
|
||||
|
||||
my $opts = { timeout => 10, device => "drive-$drive", mode => "existing", sync => "full", target => $dst_path };
|
||||
#drive-mirror is doing lseek on source image before starting, and this can take a lot of time for big nfs volume
|
||||
#during this time, qmp socket is hanging
|
||||
#http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg01838.html
|
||||
#so we need to setup a big timeout
|
||||
my $opts = { timeout => 14400, device => "drive-$drive", mode => "existing", sync => "full", target => $dst_path };
|
||||
$opts->{format} = $format if $format;
|
||||
|
||||
#fixme : sometime drive-mirror timeout, but works fine after.
|
||||
# (I have see the problem with big volume > 200GB), so we need to eval
|
||||
eval { vm_mon_cmd($vmid, "drive-mirror", %$opts); };
|
||||
# ignore errors here
|
||||
print "drive mirror is starting : this step can take some minutes/hours, depend of disk size and storage speed\n";
|
||||
|
||||
vm_mon_cmd($vmid, "drive-mirror", %$opts);
|
||||
eval {
|
||||
while (1) {
|
||||
my $stats = vm_mon_cmd($vmid, "query-block-jobs");
|
||||
|
Loading…
Reference in New Issue
Block a user