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

Re: [libvirt] [PATCHv2 1/2] virsh: add virsh snapshot-current --name

On 08/10/2011 08:32 PM, Daniel Veillard wrote:
On Wed, Aug 10, 2011 at 05:02:36PM -0600, Eric Blake wrote:
Sometimes, full XML is too much; since most snapshot commands
operate on a snapshot name, there should be an easy way to get
at the current snapshot's name.

* tools/virsh.c (cmdSnapshotCurrent): Add an option.
* tools/virsh.pod (snapshot-current): Document it.

+            xmldoc = xmlReadDoc((const xmlChar *) xml, "domainsnapshot.xml",
+                                NULL, XML_PARSE_NOENT | XML_PARSE_NONET |
+                                XML_PARSE_NOWARNING);
+            if (!xmldoc)
+                goto cleanup;
+            ctxt = xmlXPathNewContext(xmldoc);
+            if (!ctxt) {
+                xmlFreeDoc(xmldoc);
+            }

I missed a goto cleanup here.

+            name = virXPathString("string(/domainsnapshot/name)", ctxt);
+            xmlXPathFreeContext(ctxt);
+            xmlFreeDoc(xmldoc);
+            if (!name)
+                goto cleanup;
+        }
+        vshPrint(ctl, "%s", name ? name : xml);

as well as a VIR_FREE(name) here to avoid a leak.

   ACK, this is really more convenient in most cases,

Pushed with those fixes, and also mentioning a common use case in the commit message:

    virsh snapshot-revert dom `virsh snapshot-current dom --name`

for reverting back to the most recently made snapshot.

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]