libvirt/docs
Eric Blake af65695af0 snapshot: allow recreation of metadata
The first two flags are essential for being able to replicate
snapshot hierarchies across multiple hosts, which will come in
handy for supervised migrations.  It also allows a management app
to take a snapshot of a transient domain, save the metadata, stop
the domain, recreate a new transient domain by the same name,
redefine the snapshot, then revert to it.

This is not quite as convenient as leaving the metadata behind
after a domain is no longer around, but doing that has a few
problems: 1. the libvirt API can only delete snapshot metadata
if there is a valid domain handle to use to get to that snapshot
object - if stale data is left behind without a domain, there is
no way to request that the data be cleaned up. 2. creating a new
domain with the same name but different uuid than the older
domain where a snapshot existed cannot use the older snapshot
data; this risks confusing libvirt, and forbidding the stale
data is similar to the recent patch to forbid stale managed save.

The first two flags might be useful on hypervisors with no metadata,
but only for modifying the notion of the current snapshot;
however, I don't know how to do that for ESX or VBox.

The third flag is a convenience option, to combine a creation with
a delete metadata into one step.  It is trivial for hypervisors
with no metadata.

The qemu changes will be involved enough to warrant a separate patch.

* include/libvirt/libvirt.h.in
(VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE)
(VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)
(VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA): New flags.
* src/libvirt.c (virDomainSnapshotCreateXML): Document them, and
enforce mutual exclusion.
* src/esx/esx_driver.c (esxDomainSnapshotCreateXML): Trivial
implementation.
* src/vbox/vbox_tmpl.c (vboxDomainSnapshotCreateXML): Likewise.
* docs/formatsnapshot.html.in: Document re-creation.
2011-09-02 17:44:42 -06:00
..
api_extension maint: rename virBufferVSprintf to virBufferAsprintf 2011-05-05 13:47:40 -06:00
devhelp build: Fix API docs generation in VPATH build 2011-02-21 14:46:23 +01:00
html
internals Add some docs about the RPC protocol and APIs 2011-08-12 13:54:10 +01:00
schemas Add "redirdev" redirection device 2011-09-02 23:39:03 +08:00
.gitignore Add automatic generation of a todo item page 2010-10-12 11:26:52 +01:00
32favicon.png
api_extension.html.in build: use shorter file names for 'make dist' 2010-10-27 16:29:25 -06:00
api.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
apibuild.py Add public API for getting migration speed 2011-09-01 11:26:21 -06:00
apps.html.in docs: mention EMOTIVE as a libvirt-using app 2011-07-14 15:34:37 -06:00
archdomain.html.in
architecture.fig
architecture.gif
architecture.html.in docs: added a table of contents to the first 11 docs files 2010-10-27 15:01:45 +11:00
archnetwork.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
archnode.html.in
archstorage.html.in
auth.html.in docs: added a table of contents to the first 11 docs files 2010-10-27 15:01:45 +11:00
bindings.html.in docs: Add information about libvirt-php new location 2011-02-09 12:29:29 -07:00
bugs.html.in Augment bug reporting documentation 2010-11-10 13:16:37 +01:00
compiling.html.in docs: added compiling page and significantly expanded windows page 2010-12-21 20:55:10 +11:00
contact.html.in docs: added libvirt-announce to contact page 2011-01-05 18:07:30 +11:00
csharp.html.in docs: updated c# bindings with arnauds latest changes 2010-11-30 02:22:38 +11:00
deployment.html.in docs: added a table of contents to the first 11 docs files 2010-10-27 15:01:45 +11:00
devguide.html.in docs: added a table of contents to the first 11 docs files 2010-10-27 15:01:45 +11:00
docs.html.in
downloads.html.in docs: added compiling page and significantly expanded windows page 2010-12-21 20:55:10 +11:00
drivers.html.in hyperv: Add basic documentation 2011-08-26 17:52:55 +02:00
drvesx.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvhyperv.html.in hyperv: Add basic documentation 2011-08-26 17:52:55 +02:00
drvlxc.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvopenvz.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvqemu.html.in maint: fix spelling errors on lose 2011-08-26 16:48:24 -06:00
drvremote.html.in
drvtest.html.in
drvuml.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvvbox.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvvmware.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
drvxen.html.in website: Point main page links to libvirt driver pages 2011-07-15 13:19:41 -06:00
errors.html.in
et.png
firewall.html.in
footer_corner.png
footer_pattern.png
format.html.in
formatcaps.html.in Introduce per-device boot element 2011-01-17 17:08:13 +01:00
formatdomain.html.in Add "redirdev" redirection device 2011-09-02 23:39:03 +08:00
formatnetwork.html.in docs: use IPv6 addresses in range reserved for documentation 2011-08-11 00:21:33 -04:00
formatnode.html.in
formatnwfilter.html.in nwfilter: enable filtering of gratuitous ARP packets 2011-05-23 19:41:18 -04:00
formatsecret.html.in
formatsnapshot.html.in snapshot: allow recreation of metadata 2011-09-02 17:44:42 -06:00
formatstorage.html.in Fix broken XML entity for '>' 2010-11-25 10:40:07 +01:00
formatstorageencryption.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
generic.css
goals.html.in Update on the goal page 2011-03-28 10:40:24 +08:00
hacking1.xsl Generate HACKING from docs/hacking.html.in 2010-11-12 19:47:20 +01:00
hacking2.xsl Generate HACKING from docs/hacking.html.in 2010-11-12 19:47:20 +01:00
hacking.html.in build: rename files.h to virfile.h 2011-07-21 10:34:51 -06:00
hooks.html.in Fix several formatting mistakes in doc 2011-03-31 14:36:19 -06:00
hvsupport.pl docs: Make hvsupport.pl pick up the host device drivers 2011-06-06 10:45:59 +02:00
index.html.in hyperv: Add basic documentation 2011-08-26 17:52:55 +02:00
index.py maint: Expand tabs in python code 2011-02-18 08:59:51 +01:00
internals.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
intro.html.in
java.html.in
library.xen
libvirt-daemon-arch.fig
libvirt-daemon-arch.png
libvirt-driver-arch.fig
libvirt-driver-arch.png
libvirt-header-bg.png
libvirt-header-logo.png
libvirt-net-logical.fig
libvirt-net-logical.png
libvirt-net-physical.fig
libvirt-net-physical.png
libvirt-object-model.fig
libvirt-object-model.png
libvirt.css Align table cells on top 2011-08-11 13:42:22 -06:00
libvirtLogo.png
locking.html.in Add documentation for configuration lock managers 2011-06-28 18:19:00 +01:00
logging.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
madeWith.png
main.css
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
newapi.xsl Improve tokenizing of linkable terms 2011-08-12 07:35:19 -06:00
news.html.in Release of libvirt-0.9.4 2011-08-03 11:02:42 +08:00
news.xsl
node.fig
node.gif
page.xsl docs: replace CRLF with LF 2011-01-28 08:44:05 -07:00
php.html.in docs: Add information about libvirt-php new location 2011-02-09 12:29:29 -07:00
python.html.in
relatedlinks.html.in
remote.html.in Add some docs about the RPC protocol and APIs 2011-08-12 13:54:10 +01:00
search.php A couple of fixes for the search PHP code 2011-01-17 16:55:41 +08:00
site.xsl
sitemap.html.in hyperv: Add basic documentation 2011-08-26 17:52:55 +02:00
storage.html.in docs: fix the xml validity errors regarding name and id 2010-09-17 00:41:08 +10:00
structures.fig
subsite.xsl virCommand: docs for usage of new command APIs 2010-12-02 16:00:47 -07:00
testapi.html.in Add documentation about test suites 2011-05-11 19:18:38 +08:00
testsuites.html.in docs: avoid double 'the' 2011-05-11 08:18:04 -06:00
testtck.html.in Add documentation about test suites 2011-05-11 19:18:38 +08:00
todo.cfg-example Add automatic generation of a todo item page 2010-10-12 11:26:52 +01:00
todo.pl Skip bugs which are CLOSED in todo list 2011-07-12 17:10:33 +01:00
uri.html.in xen-proxy: Remove it entirely and use libvirtd instead 2010-11-08 22:00:35 +01:00
virshcmdref.html.in docs: updated memtune info again in virsh command reference 2011-01-11 07:33:15 +11:00
windows.html.in docs: correct invalid xml 2011-04-01 16:03:11 -06:00
wrapstring.xsl Generate HACKING from docs/hacking.html.in 2010-11-12 19:47:20 +01:00