[pve-devel] [PATCH-SERIES common/qemu-server v4 0/2] migration: conntrack: fix race adding dbus-vmstate object to QEMU

Fiona Ebner f.ebner at proxmox.com
Wed Oct 29 11:06:23 CET 2025


Changes in v4 (thanks to Wolfgang!):
* Also handle abstract socket path.
* Only resend upon EINTR, otherwise the datagram should be sent in one
  go.
* Drop unnecessary flush.
* Drop $unset_environment argument.
* Rename to just PVE::Systemd::notify() to make it clear that it's not
  the exact same as sd_notify().
* Use POD for documentation.
* Return early if there is no socket path.
* Die if there is no message.
* Check that socket path starts with '/' or '@'.

Changes in v3 (thanks to Thomas!):
* Expand commit message for sd_notify() helper.
* Use $socket->{send,shutdown) methods.
* Print $IO::Socket::errstr in case of error.
* Unset NOTIFY_SOCKET environment variable only after sending the
  message.

Changes in v2:
* Dropped already applied patches.
* Introduce sd_notify() helper.
* Different approach, make the service type=notify instead of waiting
  in a sleep+check-loop until the object shows up via QMP 'qom-list'.

As reported in the community forum [0], it might happen that the
dbus-vmstate object is not added (quickly enough) to the target QEMU
instance, before the migration state is loaded. This would result in
a crash of the target instance.

[0]: https://forum.proxmox.com/threads/172588/

Dependency bump qemu-server -> pve-common needed.

pve-common:

Fiona Ebner (1):
  systemd: add notify() helper

 src/PVE/Systemd.pm | 49 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)


qemu-server:

Fiona Ebner (1):
  migration: conntrack: avoid crash when dbus-vmstate object cannot be
    added (quickly enough)

 src/usr/dbus-vmstate              | 3 +++
 src/usr/pve-dbus-vmstate at .service | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)


Summary over all repositories:
  3 files changed, 53 insertions(+), 1 deletions(-)

-- 
Generated by git-murpp 0.5.0




More information about the pve-devel mailing list