Files
esh-pfi-infrastructure/configs/qemu-ga/svos

nh3-svos application-consistent backup hook (svos-dev, vendored 2026-10-05)

  • 50-svos → installed as /etc/qemu/fsfreeze-hook.d/50-svos (root 0755) on nh3-svos. Authored by svos-dev (SHA256 f94cbba36fc410db2334a7c1fd552ffef60f16831f4e03501c53a4785970b556, identical to the installed copy). On freeze it records which SVOS services are active (root-private /run/svos-backup/state.json), stops them, and requires inactive + Result=success within 35 s. On failure it queues a restart and keeps the record. On thaw it restarts only those services, within 15 s, and keeps the record if a restart fails.
  • test_quiesce.py: the hook's six failure/recovery controls (python3 -m unittest test_quiesce from this directory; the loader points at 50-svos beside it).
  • Runs under ../fsfreeze-dispatch, which qemu-ga calls via /etc/qemu/qemu-ga.conf. Without that config, Debian's qemu-ga runs no hooks at all.
  • If the voice service is ever enabled, add it to SERVICES before enabling it (svos-dev).