[pve-devel] [PATCH-SERIES qemu-server 00/11] better handle lost freeze command

Fiona Ebner f.ebner at proxmox.com
Mon May 5 14:57:13 CEST 2025


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





More information about the pve-devel mailing list