Go to file
Eric Blake bab4f31c78 snapshot: avoid accidental renames with snapshot-edit
I was a bit surprised that 'virsh snapshot-edit dom name' silently
allowed me to clone things, while still telling me the old name,
especially since other commands like 'virsh edit dom' reject rename
attempts (*).  This fixes things to be more explicit (**).

(*) Technically, 'virsh edit dom' relies on virDomainDefineXML
behavior, which rejects attempts to mix a new name with existing
uuid or new uuid with existing name, but you can create a new
domain by changing both uuid and name.  On the other hand, while
snapshot-edit --clone is a true clone, creating a new domain
would also have to decide whether to clone snapshot metadata,
managed save, and any other secondary data related to the domain.
Domain renames are not trivial either.

(**) Renaming or creating a clone is still a risky proposition -
for offline snapshots and system checkpoints, if the new name
does not match an actual name recorded in the qcow2 internal
snapshots, then you cannot revert to the new checkpoint.  But it
is assumed that anyone using the new virsh flags knows what they
are doing, and can deal with the fallout caused by a rename/clone;
that is, we can't completely prevent a user from shooting
themselves in the foot, so much as we are making the default
action less risky.

* tools/virsh.c (cmdSnapshotEdit): Add --rename, --clone.
* tools/virsh.pod (snapshot-edit): Document them.
2011-10-10 11:56:05 -06:00
.gnulib@da1717b7f9 maint: update to latest gnulib 2011-09-08 14:36:46 +01:00
daemon init: raise default system aio limits 2011-10-05 14:49:35 -06:00
docs qemu: add separate rerror_policy for disk errors 2011-10-06 14:49:23 -04:00
examples snapshot: better events when starting paused 2011-09-02 10:00:06 -06:00
gnulib freebsd: Fix build problem due to picking up the wrong libvirt.h 2011-07-29 07:35:54 -06:00
include maint: fix minor issues in virterror public header 2011-10-05 12:33:59 -06:00
m4 tests: Lower stack usage below 4096 bytes 2011-04-30 19:59:52 +02:00
po Release of libvirt-0.9.6 2011-09-22 14:53:23 +08:00
python python: Fix bindings generated in VPATH build 2011-09-16 17:07:57 +02:00
src storage: Do not use comma as seperator for lvs output 2011-10-10 20:34:59 +08:00
tests qemu: add separate rerror_policy for disk errors 2011-10-06 14:49:23 -04:00
tools snapshot: avoid accidental renames with snapshot-edit 2011-10-10 11:56:05 -06:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore Prevent crash from dlclose() of libvirt.so 2011-09-16 15:51:31 -06:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap bridge_driver.c: Fix autoconf setting 2011-10-03 23:35:29 -04:00
AUTHORS virsh: Update the help information for undefine command. 2011-10-07 09:55:30 -06:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
HACKING Document STREQ_NULLABLE and STRNEQ_NULLABLE 2011-10-06 16:50:38 +02:00
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00
autobuild.sh Remove the Open Nebula driver 2011-03-28 14:09:11 +01:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: fix compilation on mingw64 2011-08-19 07:20:10 -06:00
bootstrap.conf build: work around lack of MacOS fdatasync 2011-09-16 17:42:28 -06:00
cfg.mk remote: fix crash on OOM 2011-09-21 16:17:20 +08:00
configure.ac Release of libvirt-0.9.6 2011-09-22 14:53:23 +08:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in init: raise default system aio limits 2011-10-05 14:49:35 -06:00
mingw32-libvirt.spec.in snapshot: update rng to support full domain in xml 2011-09-03 08:12:13 -06:00

README

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>