[pve-devel] [PATCH-SERIES qemu-server v2 0/5] guest agent: better handle lost freeze command
Fiona Ebner
f.ebner at proxmox.com
Tue Sep 9 15:25:57 CEST 2025
Changes in v2:
* Rebase on current master.
* Drop already applied patches.
* Slightly improve log messages.
* Slightly improve commit messages.
The main bit of the series is patch "agent: implement fsfreeze helper
to better handle lost commands".
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 (5):
api: agent: improve module imports
qmp client: remove erroneous comment
agent: implement fsfreeze helper to better handle lost commands
agent: prefer usage of get_qga_key() helper
agent: move guest agent format and parsing to agent module
src/PVE/API2/Qemu.pm | 4 +-
src/PVE/API2/Qemu/Agent.pm | 9 ++-
src/PVE/QMPClient.pm | 5 +-
src/PVE/QemuConfig.pm | 6 +-
src/PVE/QemuMigrate.pm | 3 +-
src/PVE/QemuServer.pm | 54 +--------------
src/PVE/QemuServer/Agent.pm | 122 +++++++++++++++++++++++++++++++++
src/PVE/QemuServer/BlockJob.pm | 2 +-
src/PVE/VZDump/QemuServer.pm | 7 +-
9 files changed, 146 insertions(+), 66 deletions(-)
--
2.47.2
More information about the pve-devel
mailing list