X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PVE%2FQMPClient.pm;h=9e32533a8b370f91b8cd635bfba6dc537a7b9955;hb=b8158701aa7fb190c9e4209704398f9f88dc3f5e;hp=a527ffc4102f24446c6b79d82eca345fb6dde72f;hpb=5cb6fe54d802d5c53a4c3f776779e24298ea98fa;p=qemu-server.git diff --git a/PVE/QMPClient.pm b/PVE/QMPClient.pm index a527ffc4..9e32533a 100755 --- a/PVE/QMPClient.pm +++ b/PVE/QMPClient.pm @@ -107,13 +107,20 @@ sub cmd { $timeout = 60*60; # 1 hour } elsif ($cmd->{execute} =~ m/^(eject|change)/) { $timeout = 60; # note: cdrom mount command is slow - } elsif ($cmd->{execute} eq 'guest-fsfreeze-freeze' || - $cmd->{execute} eq 'guest-fsfreeze-thaw') { + } elsif ($cmd->{execute} eq 'guest-fsfreeze-freeze') { + # freeze syncs all guest FS, if we kill it it stays in an unfreezable + # locked state with high probability, so use an generous timeout + $timeout = 60*60; # 1 hour + } elsif ($cmd->{execute} eq 'guest-fsfreeze-thaw') { + # thaw has no possible long blocking actions, either it returns + # instantly or never (dead locked) $timeout = 10; } elsif ($cmd->{execute} eq 'savevm-start' || $cmd->{execute} eq 'savevm-end' || $cmd->{execute} eq 'query-backup' || $cmd->{execute} eq 'query-block-jobs' || + $cmd->{execute} eq 'block-job-cancel' || + $cmd->{execute} eq 'block-job-complete' || $cmd->{execute} eq 'backup-cancel' || $cmd->{execute} eq 'query-savevm' || $cmd->{execute} eq 'delete-drive-snapshot' ||