drive-mirror: warn use POSIX::_exit on exec failure

This commit is contained in:
Wolfgang Bumiller 2017-01-05 09:39:13 +01:00
parent 3b4cf0f0fc
commit ca5c27f065

View File

@ -5926,18 +5926,17 @@ sub qemu_drive_mirror {
die "forking socat tunnel failed"; die "forking socat tunnel failed";
} elsif ($pid == 0) { } elsif ($pid == 0) {
exec(@$cmd); exec(@$cmd);
exit(-1); warn "exec failed: $!\n";
} else { POSIX::_exit(-1);
}
$jobs->{"drive-$drive"}->{pid} = $pid; $jobs->{"drive-$drive"}->{pid} = $pid;
my $timeout = 0; my $timeout = 0;
while (1) { while (!-S $unixsocket) {
last if -S $unixsocket; die "nbd connection helper timed out\n"
die if $timeout > 5; if $timeout++ > 5;
$timeout++;
sleep 1; sleep 1;
} }
}
} else { } else {
my $storecfg = PVE::Storage::config(); my $storecfg = PVE::Storage::config();
my ($dst_storeid, $dst_volname) = PVE::Storage::parse_volume_id($dst_volid); my ($dst_storeid, $dst_volname) = PVE::Storage::parse_volume_id($dst_volid);