libvirt/docs
Eric Blake a6a25d5cb6 snapshot: More clarification about REDEFINE
Based on recent list questions about the proposed addition of
virDomainCheckpointCreateXML(REDEFINE), it is worth adding some
clarification to the existing snapshot redefine documentation that is
serving as the basis for checkpoints.

Normal snapshot creation requires very few elements from the user XML
(libvirt can pick sane defaults for items that are omitted, and many
fields, including <domain>, are documented as readonly output fields
ignored on input, produced by drivers that track it). But during
REDEFINE, the API wants the complete XML produced by an earlier
virDomainSnapshotGetXMLDesc; as the domain definition has likely
changed since the snapshot was first created, libvirt is unable to
recreate a <domain> sub-element that matches the original output
representing the domain state at the time the snapshot was first
created. In fact, reverting without a <domain> sub-element is risky
enough that we had to add a FORCE flag for virDomainSnapshotRevert().
In short, we only support omitting domain for qemu because of
backwards-compatibility to snapshots created before 0.9.5 started
capturing <domain>; even though there are other drivers like vbox that
do not output <domain> because they have other reliable ways to
revert.

And based on the confusion caused when omitting <domain> from snapshot
XML, the initial design for checkpoints in later patches will make
<domain> a mandatory element during its REDEFINE.

[Side note: the fact that <domain> can appear in <domainsnapshot> is a
reason we cannot add a new API for a bulk listing or redefine of all
snapshots of a single domain in one XML call (for example, a 1M
<domain> XML * 16 snapshots explodes into 16M in a bulk form, which
gets difficult to send over RPC). Perhaps we could add a flag to
request that the <domain> sub-element be omitted on output, but such
output is no longer suitable for sane REDEFINE input.]

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-03-15 08:32:37 -05:00
..
devhelp Remove all Author(s): lines from source file headers 2018-12-13 16:08:38 +00:00
fonts docs: Add monospaced Overpass fonts 2016-11-21 13:15:12 +01:00
html
internals qemu: use line breaks in command line args written to log 2018-12-17 15:02:11 +00:00
js docs: rewrite content on front page to be more useful 2016-11-11 12:15:05 +00:00
logos docs: add master SVG for libvirt logo 2016-11-11 09:31:10 +00:00
schemas conf: Add a new 'xenbus' controller type 2019-03-13 12:06:52 -06:00
32favicon.png
404.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
acl.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
aclpolkit.html.in Drop UML driver 2018-12-17 17:52:46 +01:00
android-chrome-192x192.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
android-chrome-256x256.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
api_extension.html.in docs: api_extension: Update paths in the examples 2018-08-28 17:21:39 +02:00
api.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
apibuild.py docs: Format bit shift and hex notation for bitwise flag enums 2019-01-31 12:02:35 +01:00
apple-touch-icon.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
apps.html.in Add Virtlyst web application to apps.html 2018-06-07 17:20:32 -04:00
architecture.fig
architecture.gif
architecture.html.in docs: remove mention of legacy Xen driver 2018-04-09 11:38:47 -06:00
auditlog.html.in conf: Audit TPM emulator device at domain startup 2018-06-06 10:48:41 -04:00
auth.html.in docs: use JavaScript based PolicyKit .rules files 2019-01-21 18:45:27 +00:00
bindings.html.in docs: introduce libvirt-dbus binding 2018-03-23 12:59:56 +01:00
browserconfig.xml docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
bugs.html.in docs: remove mention of legacy Xen driver 2018-04-09 11:38:47 -06:00
cgroups.html.in docs: Update how we create cgroup directory names 2018-08-13 11:53:53 +02:00
compiling.html.in Forget last daemon/ dir artefacts 2018-07-27 15:44:38 +02:00
contact.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
contribute.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
csharp.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
dbus.html.in docs: introduce libvirt-dbus binding 2018-03-23 12:59:56 +01:00
devguide.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
docs.html.in docs: Add description for Storage Pool Capabilities 2019-03-06 11:12:48 -05:00
downloads.html.in docs: remove git snapshot download links 2018-06-07 16:55:52 +01:00
drivers.html.in Drop UML driver 2018-12-17 17:52:46 +01:00
drvbhyve.html.in docs: bhyve: warn about bhyve:commandline risks 2019-02-01 22:08:55 +04:00
drvesx.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
drvhyperv.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvlxc.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
drvnodedev.html.in docs: documentation for vfio-ccw passthrough 2018-05-14 12:27:47 -04:00
drvopenvz.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvphyp.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvqemu.html.in Remove remaining references to kqemu 2019-02-19 08:33:50 +01:00
drvremote.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvtest.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvvbox.html.in docs: Update vbox driver documentation. 2017-11-07 17:50:15 -05:00
drvvirtuozzo.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvvmware.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
drvxen.html.in libxl: drop support for Xen < 4.6 2018-09-14 11:47:08 -06:00
errors.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
favicon-16x16.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon-32x32.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
favicon.ico docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
firewall.html.in network: allow configuring firewalld zone for virtual network bridge device 2019-02-01 12:57:13 -05:00
format.html.in docs: Add description for Storage Pool Capabilities 2019-03-06 11:12:48 -05:00
formatcaps.html.in Drop UML driver 2018-12-17 17:52:46 +01:00
formatdomain.html.in conf: Add a new 'xenbus' controller type 2019-03-13 12:06:52 -06:00
formatdomaincaps.html.in docs: Update the AMD SEV's spec URL 2019-02-08 12:50:30 +01:00
formatnetwork.html.in network: allow configuring firewalld zone for virtual network bridge device 2019-02-01 12:57:13 -05:00
formatnode.html.in nodedev: add switchdev to NIC capabilities 2017-09-18 08:32:24 -04:00
formatnwfilter.html.in Drop UML driver 2018-12-17 17:52:46 +01:00
formatsecret.html.in storage: Disallow create/resize of qcow2 encrypted images 2018-06-26 14:02:43 -04:00
formatsnapshot.html.in snapshot: More clarification about REDEFINE 2019-03-15 08:32:37 -05:00
formatstorage.html.in docs: storage: owner/group default to libvirtd UID/GID 2019-02-08 12:37:06 -05:00
formatstoragecaps.html.in caps: drop requiredSourceElements from storage pool capabilities 2019-03-07 12:01:09 +01:00
formatstorageencryption.html.in storage: Disallow create/resize of qcow2 encrypted images 2018-06-26 14:02:43 -04:00
genaclperms.pl perl: Don't hardcode interpreter path 2017-09-19 16:04:53 +02:00
generic.css docs: Use Overpass Mono as the monospace font 2016-11-21 14:04:05 +01:00
goals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
governance.html.in docs/governance: Clarify the version number of the LGPL 2019-01-25 14:04:20 +01:00
hacking.html.in docs: hacking: Add 'Code coverage reports' section 2019-03-14 20:47:15 -04:00
hooks.html.in hooks: Fix a wrong description 2017-11-15 13:52:13 +01:00
hvsupport.pl driver: introduce a driver method for probing default URIs 2018-04-12 16:52:02 +01:00
index.html.in docs: Add description for Storage Pool Capabilities 2019-03-06 11:12:48 -05:00
index.py python: Remove space around = in keyword args 2018-03-20 12:13:35 +00:00
internals.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
java.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
libvirt-daemon-arch.fig
libvirt-daemon-arch.png
libvirt-driver-arch.fig
libvirt-driver-arch.png
libvirt-object-model.fig
libvirt-object-model.png
libvirt-virConnect-example.fig
libvirt-virConnect-example.png
libvirt.css docs: css: Make docs page wider while still accomodating narrow screens 2019-01-31 12:03:32 +01:00
locking-lockd.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
locking-sanlock.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
locking.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
logging.html.in Replace QEmu with QEMU 2018-04-01 17:42:29 +02:00
main.css docs: make website responsive for mobile devices 2017-08-07 14:44:40 +01:00
Makefile.am docs: api_extension: Remove example patches 2018-08-24 16:23:01 +02:00
manifest.json docs: Fix syntax-check error 2017-08-02 15:00:28 -04:00
migration-managed-direct.fig
migration-managed-direct.png
migration-managed-p2p.fig
migration-managed-p2p.png
migration-native.fig
migration-native.png
migration-tunnel.fig
migration-tunnel.png
migration-unmanaged-direct.fig
migration-unmanaged-direct.png
migration.html.in migration.html: Clarify configuration file handling docs 2017-12-08 15:50:52 +01:00
mobile.css docs: make website responsive for mobile devices 2017-08-07 14:44:40 +01:00
mstile-150x150.png docs: add full set of "favicon" files to support modern clients 2017-08-02 17:00:11 +01:00
newapi.xsl docs: Format bit shift and hex notation for bitwise flag enums 2019-01-31 12:02:35 +01:00
news-2005.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2006.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2007.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2008.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2009.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2010.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2011.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2012.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2013.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2014.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2015.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-2016.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news-ascii.xsl NEWS: Improve building pipeline 2017-01-10 19:37:53 +01:00
news-html.xsl Use https:// links for most sites 2017-10-16 10:22:34 +01:00
news.rng docs: Move news.rng out of docs/schemas 2017-04-05 09:51:51 +02:00
news.xml news: Document recent snapshot topological flag 2019-03-14 07:46:43 -05:00
node.fig
node.gif
nss.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
page.xsl docs: remove Google+ link from page footer 2019-03-07 11:46:16 +00:00
pci-hotplug.html.in docs: remove legacy XHTML <!DOCTYPE> declaration 2018-02-28 17:51:03 +00:00
php.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
platforms.html.in docs: fix repology link for qemu-kvm package 2018-10-23 16:16:36 +01:00
python.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
reformat-news.py Remove all Author(s): lines from source file headers 2018-12-13 16:08:38 +00:00
remote.html.in xen: encourage use of xen:///system URI as preferred format 2018-04-12 16:52:01 +01:00
search.php.code.in maint: Replace tabs with spaces in all source files in repo 2017-10-18 13:25:10 +02:00
search.php.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
secureusage.html.in docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
securityprocess.html.in docs: link to security.libvirt.org website 2018-03-16 17:05:56 +00:00
site.xsl docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
storage.html.in docs: Fix a few storage.html.in typos 2019-03-06 11:12:48 -05:00
structures.fig
subsite.xsl docs: switch to using HTML5 doctype declaration 2017-08-02 17:00:11 +01:00
support.html.in docs: Grammar and spelling fixes 2018-05-03 12:40:37 +01:00
testapi.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
testsuites.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
testtck.html.in Use https:// links for most sites 2017-10-16 10:22:34 +01:00
uri.html.in xen: encourage use of xen:///system URI as preferred format 2018-04-12 16:52:01 +01:00
virshcmdref.html.in docs: update all GIT repo examples to use https:// protocol 2018-03-21 14:48:01 +00:00
windows.html.in docs: remove mention of legacy Xen driver 2018-04-09 11:38:47 -06:00
wrapstring.xsl