If I have the following chain (it was created using external snapshots through virsh):

base.qcow2 --> snap1 --> snap2[current]

Now if I copy "base.qcow2" to a remote location, del the original "base.qcow2", copy back the "copied" base image, back from the remote location to the current chain (so effectively, I have [re]provided the backing-file to "snap1").

Should this snapshot chain be valid now?

In my tests, the VM is still working with the new base.qcow2. Though, the old and new base.qcow2 are different files (stored on different locations on disk...). Does this prove that snapshot chains in libvirt are "tracked" through filenames only?

1 Answer 1


Yes, every snapshot metadata has the parent's filename or device name. But do keep in mind that the chain must be complete, e.g. snap2 is not aware of base, only of snap1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.