
On Thu, Jun 22, 2017 at 11:02:41 -0400, Doug Hughes wrote: [...]
virsh blockcommit $vm $DISK --active --pivot
Normally this works fine, though something went wrong on the 20th. something happened to make the blockcommit fail, but the -snap file got deleted (note to self - check return code from blockcommit command!)
So now I'm in a state. The domain i still running. but it's running off the -snapshot that is in the xml. I googled around for how to recover a blockcommit from a deleted snapshot, but didn't find anything. (pointers welcome)
While it's still running you are lucky as the kernel did not delete the file until you shutdown the qemu process. There are these options: 1) if you don't care about the snapshot hierarchy, but want to save the full disk contents of the VM, you can use the block copy operation and copy everything into a new image. 2) If you removed the top level image (which it seems) you can even use shallow block copy, if you pre-create the new file properly. Then you can even keep the top layer properly. 3) If it's any other than top layer, with a new-enugh qemu and some QMP command magic, any layer can be restored, but that will require some work. Please let me know which option do you want to do and I can guide you further. Please just don't turn off the VM :)