Greetings,<br><br>I am developing a platform for test and debug use.<br><br>The typical scenario I want to realize is the following:<br><br>I run a .qcow2 image via QEMU-KVM, the running OS is not relevant.<br>I want to take several snapshots of both Disk and RAM status; same file, separate files doesn't matter. <br>
I just need a way to have consistent information about them (better with XML description) and the data as well.<br>I want to store these snapshots on my storage devices to use them whenever and wherever I want.<br><br>
Is it possible to store a single snapshot 
providing both the memory and disks state in a file (maybe a .qcow2 file)?<br>
Is there any way to get a unique interface which handles my snapshots?<br><br>I was used to use the virDomainSnapshotCreateXML() defining the destination file in the XML with <disk> fields.<br>After updating libvirt it was not working anymore, I thought was a bug but then I realized it was intentional.<br>
The function complains about the fact that the <disk> parameter is not accepted anymore.<br>So I started guessing how to solve reading the API documentation and I fall in a completely nebulous world.<br><br>For what I got:<br>
 - virDomainSnapshotCreateXML():<br>According to flags can take system checkpoints (really useful) and disks snapshots.<br>System checkpoints: What I need but I didn't find any way to retrieve the storage file; I'm only able to get the snapshot pointer, quite useless as from its pointer I can only print the XML description.<br>
Disk snapshot: here through the XML description I can specify a target file where to write the information. But I still need the memory status.<br>- virDomainSaveFlags():<br>No matter how I set the flags, it halts the guest; I need it still running afterward and I think that reverting the domain and restarting for my scenarios is unaffordable.<br>
- virDomainCoreDump():<br>Does what I need for the memory, but doesn't give any XML description and doesn't supply any useful interface to handle it, I just get back an int that represent the exit status of the routine.<br>
(other functions really similar)<br><br>The question is: why all this confusion? <br>I absolutely understand the problematic that realizing a multiplatform snapshots management raises; but I think that for an API purpose what is implemented here is completely confusing the developer.<br>
<br>Regards,<br><br>NoxDaFox.<br>