aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-13 11:22:40 +0200
committerDanilo M. <danix@danix.xyz>2026-09-13 11:22:40 +0200
commit87cd101eb3c55d0ad7e8f2142fcce90865da7d39 (patch)
treea2bc25c6af717d13caadfbef008ab89b00770190 /AGENTS.md
parentf84176cf1c866da4d263d278774932acb81b4b8d (diff)
downloadquickshell-87cd101eb3c55d0ad7e8f2142fcce90865da7d39.tar.gz
quickshell-87cd101eb3c55d0ad7e8f2142fcce90865da7d39.zip
feat(vm-manager): offer to discard a saved state that will not restore
A VM saved rather than shut down restores its memory image on the next start. When that image cannot be restored the start fails every time with "unable to execute QEMU command 'migrate-incoming'", and the panel showed an ordinary "shut off" with a Start button that could never work. Detection is virsh dominfo grepped for "Managed save: yes", polled per VM on every list refresh the way the agent rows are. domstats does not report it: the shut-off reason reads "failed", from the failed start, not from the save. virsh list --all --managed-save does print "saved" in the state column, but not together with --name, which is the form the panel lists with. The button appears only when a saved image exists, since managedsave-remove fails without one and would be noise on every other VM. It takes a confirmation click but not a typed name: it deletes the memory image and leaves the disk alone, so the cost of a misclick is a cold boot. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lo1FG4qTr1inavmhqhfobe
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 6a58d76..ee37cf7 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -103,6 +103,15 @@ changing that component. The ones that generalise:
`block.allocation` is qcow2 growth on the host, not usage inside the guest.
The real numbers come from qemu-guest-agent, and the panel shows a dash
rather than substituting the host-side ones.
+- **A managed save makes `virsh start` a restore, and nothing in `domstats`
+ says so.** A shut-off VM carrying a saved memory image fails to start with
+ `unable to execute QEMU command 'migrate-incoming'` every time, and the
+ state reads a plain `shut off`. The shut-off *reason* is no help either: it
+ reads `failed`, from the failed start, not from the save. `virsh list
+ --all --managed-save` prints `saved` in the state column but not with
+ `--name`, which is the form the panel lists with, so detection is `virsh
+ dominfo <vm>` grepped for `Managed save: yes`, polled per VM the way the
+ agent rows are. It measured 6ms.
- **Hyprland 0.56.2 evaluates dispatch arguments as Lua.** `dispatch
focuswindow address:0x...` is a syntax error rather than a command, and it
fails silently unless stderr is read. The working form is `dispatch