[Libvir] Proposal: libvirt should remove or rename a save file after a successful restore

Richard W.M. Jones rjones at redhat.com
Mon Jul 2 15:38:48 UTC 2007


Chris Lalancette found this problem:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=246105

<quote>
Once an "xm restore" has successfully completed, the -save file that it 
came from should really be deleted.  Restoring a domain a second time 
from the same save file will result in disk corruption; the kernel VM 
state (in the saved file) will be in an inconsistent state with respect 
to what is actually on disk (in the domain disk file).  The only valid 
use I can see for the -save file after a restore is possibly for some 
crash analysis, but even that could be worked around by renaming the 
save file after a success.  In particular, I just ran into this 
situation (and I'm worried customers might do the same):
[and then he goes on to describe a scenario in which you can commonly 
hit this situation]
</quote>

So the obvious and simple solution, it seems to me, is just to change 
libvirt.c:virDomainRestore so that if the driver underneath it returns 
from the restore without error, then we either remove or rename the 
restore file.

It's a trivial patch -- what do people think?

My thoughts:
* Removing the file might seem quite abrupt/unexpected, and there is the 
possibility of data loss.
* You have to rename the file as a hidden file (dotfile) in order for 
xendomains to ignore it.  However these files are big and having large, 
hidden files which build up in number over time sounds like it could be 
a bad thing.
* This might be considered a significant behaviour change.
* It's easier to handle this for the remote case if we make the change 
inside libvirt, rather than in virsh etc.

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070702/1b5a6af3/attachment-0001.bin>


More information about the libvir-list mailing list