vendor(qemu-ga): svos-dev's nh3-svos quiesce hook + its 6 controls beside the dispatcher

This commit is contained in:
vh
2026-10-05 19:28:02 -07:00
parent 9175fbd539
commit 63736bd40a
3 changed files with 194 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
# 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).