[libvirt] [PATCHv3 1/3] save: support qemu modifying xml on domain save/restore
Eric Blake
eblake at redhat.com
Thu Jul 28 21:44:38 UTC 2011
On 07/28/2011 12:00 PM, Laine Stump wrote:
>> ---
>>
>> v3: change virDomainSave to always output minimal information,
>> but with fixed padding added, so that save file modification
>> will always be more likely to succeed,
>
> "always be more likely". Heh.
I guess dropping "always" would make that sentence more believable.
>
> Looking at this problem from the outside, it seems that if we wanted a
> 100% reliable solution, we would need to introduce the idea of a linked
> header, which can be continued at the end of the file (of course that
> wouldn't work if there are ever cases where the file is being read from
> a pipe, and we can't seek, and it's entirely possible that 1024 is
> always enough extra to ensure everything works).
We hand the file over to qemu after seeking to the end of our header,
and I don't think qemu tolerates garbage at the end of its saved state
files (qemu only reads in the saved state as if by a pipe; in reality
the saved state file is the same as what gets sent over a socket during
migration, which really is a one-pass non-seeking algorithm). So a
split header won't really work.
But hopefully there's not too many ABI compatible changes that you can
make that significantly increase the size of the XML.
And in the worst case, you can always fall back to:
virsh restore file --xml alternate
in the case where
virsh save-image-define file alternate
complains about a too-large alternate.
> ACK.
Thanks; pushed.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list