[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCHv2 14/26] snapshot: prevent stranding snapshot data on domain destruction



On 08/15/2011 05:33 PM, Eric Blake wrote:
Just as leaving managed save metadata behind can cause problems
when creating a new domain that happens to collide with the name
of the just-deleted domain, the same is true of leaving any
snapshot metadata behind.  For safety sake, extend the semantic
change of commit b26a9fa9 to also cover snapshot metadata as a
reason to reject losing the last reference to a domain (undefine
on an inactive, or shutdown/destroy on a transient).  The caller
must first take care of snapshots, possible via the existing
virDomainSnapshotDelete.


+++ b/src/qemu/qemu_driver.c
@@ -1472,6 +1472,7 @@ static int qemuDomainShutdown(virDomainPtr dom) {
      virDomainObjPtr vm;
      int ret = -1;
      qemuDomainObjPrivatePtr priv;
+    int nsnapshots;

      qemuDriverLock(driver);
      vm = virDomainFindByUUID(&driver->domains, dom->uuid);
@@ -1485,6 +1486,14 @@ static int qemuDomainShutdown(virDomainPtr dom) {
          goto cleanup;
      }

+    if (!vm->persistent&&
+        (nsnapshots = virDomainSnapshotObjListNum(&vm->snapshots))) {

I had tested this, then rebased the series to add a parameter to virDomainSnapshotObjListNum in an earlier patch, which breaks compilation of this patch in the order presented in the series. Fix by adding a trailing ', 0' argument on the three lines where compilation fails.

--
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]