On 08/10/2011 04:08 PM, Eric Blake wrote:
Next, we need a way to control which subset of disks is involved in
a
snapshot command. Previous mail has documented that for ESX, the
decision can only be made at boot time - a disk can be persistent
(involved in snapshots, and saves changes across domain boots);
independent-persistent (is not involved in snapshots, but saves changes
across domain boots); or independent-nonpersistent (is not involved in
snapshots, and all changes during a domain run are discarded when the
domain quits). In <domain> xml, I will represent this by two new
optional attributes:
<disk snapshot='no|external|internal'
persistent='yes|no'>...</disk>
As I'm starting to code this, it looks more and more like persistent
will always be a binary property. Also, it doesn't appear in
<domainsnapshot>, just in <domain>. In that case, it would be nicer to
represent it similar to other binary properties (readonly, sharable) -
that is, as a sub-element that is omitted for the default, and present
as <transient/> when overriding the default.
But making snapshot an attribute was definitely the right thing - since
discussion certainly pointed out that we may eventually want more than
one type of external snapshot ('external' means the original name
becomes the snapshot while the new name is active, but we may come up
with a good term and implementation where the original name remains
active and creates a new file as the snapshot). So I'm revising this
implementation to be:
<disk snapshot='no|external|internal'>
[<transient/>]
...
</disk>
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org