The main bit of the series is patch 07/11: As reported in the enterprise support, it can happen that a guest agent command is read, but then the guest agent never sends an answer, because the service in the guest is stopped/killed. For example, if a guest reboot happens before the command can be successfully executed. This is usually not problematic, but the fsfreeze-freeze command has a timeout of 1 hour, so the guest agent socket would be blocked for that amount of time, waiting on a command that is not being executed anymore.
Use a lower timeout for the fsfreeze-freeze command, and issue an fsfreeze-status command afterwards, which will return immediately if the fsfreeze-freeze command already finished, and which will be queued if not. This is used as a proxy to determine whether the fsfreeze-freeze command is still running and to check whether it was successful. Like this, the time the socket is blocked after a "lost command" is at most 10 minutes. The rest of the series is preparation and cleanups. Fiona Ebner (11): agent: drop unused $noerr argument from helpers api: agent: improve module imports agent: code style: order module imports according to style guide agent: avoid dependency on QemuConfig module qmp client: remove erroneous comment qmp client: add $noerr argument agent: implement fsfreeze helper to better handle lost commands agent: avoid use of deprecated check_running() function agent: move qga_check_running() helper to agent module agent: prefer usage of get_qga_key() helper agent: move guest agent format and parsing to agent module PVE/API2/Qemu.pm | 9 ++- PVE/API2/Qemu/Agent.pm | 48 ++++++++---- PVE/CLI/qm.pm | 8 +- PVE/QMPClient.pm | 13 +++- PVE/QemuConfig.pm | 7 +- PVE/QemuMigrate.pm | 3 +- PVE/QemuServer.pm | 65 +--------------- PVE/QemuServer/Agent.pm | 160 +++++++++++++++++++++++++++++++------- PVE/QemuServer/Monitor.pm | 11 ++- PVE/VZDump/QemuServer.pm | 10 ++- 10 files changed, 210 insertions(+), 124 deletions(-) -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel