[libvirt] [PATCH 6/6] snapshot: use new virsh function for snapshot-list

Eric Blake eblake at redhat.com
Wed Jun 13 01:03:28 UTC 2012


On 06/12/2012 07:18 AM, Peter Krempa wrote:
> On 06/09/12 06:34, Eric Blake wrote:
>> Operating on a list of snapshot objects looks so much simpler.
>> In particular, since the helper function already trimmed out
>> irrelevant entries, we no longer have quite so many special cases
>> on finding the first snapshot to operate on.
>>
>> * tools/virsh.c (cmdSnapshotList): Use previous patches.
>> ---
>>   tools/virsh.c |  207
>> +++++++++------------------------------------------------
>>   1 file changed, 31 insertions(+), 176 deletions(-)
>>
> 
> ACK.

As mentioned in 2/6, I'll squash this in for my v2, now that the
callback struct is only used by one client instead of generic to
vshTreePrint:

diff --git i/tools/virsh.c w/tools/virsh.c
index 84db8d3..c7877b3 100644
--- i/tools/virsh.c
+++ w/tools/virsh.c
@@ -13473,15 +13473,15 @@ vshTreePrint(vshControl *ctl, vshTreeLookup
lookup, void *opaque,
     return ret;
 }

-struct vshTreeArray {
+struct vshNodeList {
     char **names;
     char **parents;
 };

 static const char *
-vshTreeArrayLookup(int devid, bool parent, void *opaque)
+vshNodeListLookup(int devid, bool parent, void *opaque)
 {
-    struct vshTreeArray *arrays = opaque;
+    struct vshNodeList *arrays = opaque;
     if (parent)
         return arrays->parents[devid];
     return arrays->names[devid];
@@ -13536,7 +13536,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd
*cmd ATTRIBUTE_UNUSED)
     qsort(&devices[0], num_devices, sizeof(char*), namesorter);
     if (tree) {
         char **parents = vshMalloc(ctl, sizeof(char *) * num_devices);
-        struct vshTreeArray arrays = { devices, parents };
+        struct vshNodeList arrays = { devices, parents };

         for (i = 0; i < num_devices; i++) {
             virNodeDevicePtr dev = virNodeDeviceLookupByName(ctl->conn,
devices[i]);
@@ -13550,7 +13550,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd
*cmd ATTRIBUTE_UNUSED)
         }
         for (i = 0 ; i < num_devices ; i++) {
             if (parents[i] == NULL &&
-                vshTreePrint(ctl, vshTreeArrayLookup, &arrays, num_devices,
+                vshTreePrint(ctl, vshNodeListLookup, &arrays, num_devices,
                              i) < 0)
                 ret = false;
         }


-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120612/02ba0f18/attachment-0001.sig>


More information about the libvir-list mailing list