[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