Qvm-volume revert fails - revision metadata out of sync with LVM

When I tried to revert to a backup using qvm-volume, it failed:

[user@dom0 ~]$ qvm-volume info personal-vault:private 
pool               vm-pool
vid                qubes_dom0/vm-personal-vault-private
rw                 True
source             
save_on_stop       True
snap_on_start      False
size               2147483648
usage              389124037
revisions_to_keep  2
ephemeral          False
is_outdated        False
List of available revisions (for revert):
  1766614550-back
  1767372986-back
[user@dom0 ~]$ qvm-volume revert personal-vault:private 1766614550-back
Got empty response from qubesd. See journalctl in dom0 for details.
Jan 02 11:04:50 dom0 qubesd[3784]: permission denied for call b'admin.vm.volume.Revert'+b'private' (b'dom0' → b'personal-vault') with payload of 15 bytes

Restarting qubesd and using sudo didn’t help. When I checked the actual LVM state, the revision 1766614550-back doesn’t exist:

[user@dom0 ~]$ sudo lvs -o lv_name,lv_time,lv_size qubes_dom0 | grep personal-vault
  vm-personal-vault-private                          2026-01-02 10:58:09 -0600     2.00g
  vm-personal-vault-private-1767372986-back          2025-12-24 16:11:28 -0600     2.00g
  vm-personal-vault-private-1767373489-back          2026-01-02 10:55:08 -0600     2.00g
  vm-personal-vault-private.tick                     2025-12-31 00:01:06 -0600     2.00g

So qvm-volume reports 1766614550-back and 1767372986-back as available revisions, but LVM has 1767372986-back, 1767373489-back, and a .tick volume. The metadata is out of sync with lvm.

I have wyng backups so I can probably recover, but this seems like a bug - either something corrupted the Qubes volume metadata, or a failed snapshot operation left things in an inconsistent state. I didn’t experience any obvious crashes or power loss.

Has anyone else seen this? Any ideas what could cause qvm-volume and LVM to get out of sync like this?

I’m just having the same issue.

I’m on Qubes OS 4.3 and unable to revert a template.

journalctl -u qubesd -r shows:

WARNING: permission denied for call b'admin.vm.volume.Revert'+b'private' (b'dom0' -> b'fedora-43-minimal-media-sec') with payload of 10 bytes.

I’ll keep troubleshooting and hopefully I don’t forget to not start that template back up. :sweat_smile:

Edit: not even 10 minutes later and I accidentally ran the template. :expressionless:

Ah well… I’ll just redo the whole thang.

1 Like

You can use prohibit-start feature

1 Like

Yeah I saw this too late… thanks for the tip, though!