all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH-SERIES qemu-server v2 0/5] guest agent: better handle lost freeze command
Date: Tue,  9 Sep 2025 15:25:57 +0200	[thread overview]
Message-ID: <20250909132613.96402-1-f.ebner@proxmox.com> (raw)

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



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


             reply	other threads:[~2025-09-09 13:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-09 13:25 Fiona Ebner [this message]
2025-09-09 13:25 ` [pve-devel] [PATCH qemu-server v2 1/5] api: agent: improve module imports Fiona Ebner
2025-09-09 13:25 ` [pve-devel] [PATCH qemu-server v2 2/5] qmp client: remove erroneous comment Fiona Ebner
2025-09-09 13:26 ` [pve-devel] [PATCH qemu-server v2 3/5] agent: implement fsfreeze helper to better handle lost commands Fiona Ebner
2025-09-09 13:26 ` [pve-devel] [PATCH qemu-server v2 4/5] agent: prefer usage of get_qga_key() helper Fiona Ebner
2025-09-09 13:26 ` [pve-devel] [PATCH qemu-server v2 5/5] agent: move guest agent format and parsing to agent module Fiona Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250909132613.96402-1-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal