]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: add list --managed-save
authorEric Blake <eblake@redhat.com>
Fri, 19 Aug 2011 00:09:14 +0000 (18:09 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 24 Aug 2011 14:34:49 +0000 (08:34 -0600)
Knowing whether 'virsh start' will resume a saved image or do
a fresh boot is useful enough to expose via 'virsh list'.

Also, translate the state column.

* tools/virsh.c (cmdList): add --managed-save flag
* tools/virsh.pod (list): Document it.
Based on a suggestion by Miklos Vajna.

tools/virsh.c
tools/virsh.pod

index 1ad84a28222d9f5902abb75b1b05aebeb6bd83f3..15b9bdd4f0f8a915188f53e5ba98e19673840fd4 100644 (file)
@@ -851,6 +851,8 @@ static const vshCmdInfo info_list[] = {
 static const vshCmdOptDef opts_list[] = {
     {"inactive", VSH_OT_BOOL, 0, N_("list inactive domains")},
     {"all", VSH_OT_BOOL, 0, N_("list inactive & active domains")},
+    {"managed-save", VSH_OT_BOOL, 0,
+     N_("mark domains with managed save state")},
     {NULL, 0, 0, NULL}
 };
 
@@ -864,6 +866,9 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
     int *ids = NULL, maxid = 0, i;
     char **names = NULL;
     int maxname = 0;
+    bool managed = vshCommandOptBool(cmd, "managed-save");
+    int state;
+
     inactive |= all;
 
     if (!vshConnectionUsability(ctl, ctl->conn))
@@ -920,7 +925,7 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
         vshPrint(ctl, "%3d %-20s %s\n",
                  virDomainGetID(dom),
                  virDomainGetName(dom),
-                 vshDomainStateToString(vshDomainState(ctl, dom, NULL)));
+                 _(vshDomainStateToString(vshDomainState(ctl, dom, NULL))));
         virDomainFree(dom);
     }
     for (i = 0; i < maxname; i++) {
@@ -932,10 +937,15 @@ cmdList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
             continue;
         }
 
+        state = vshDomainState(ctl, dom, NULL);
+        if (managed && state == VIR_DOMAIN_SHUTOFF &&
+            virDomainHasManagedSaveImage(dom, 0) > 0)
+            state = -2;
+
         vshPrint(ctl, "%3s %-20s %s\n",
                  "-",
                  names[i],
-                 vshDomainStateToString(vshDomainState(ctl, dom, NULL)));
+                 state == -2 ? _("saved") : _(vshDomainStateToString(state)));
 
         virDomainFree(dom);
         VIR_FREE(names[i]);
index 045707c8e627efb25e30769a1261b7331f2cb274..e17f30994da5a346019ee526900a2a17288d5f8f 100644 (file)
@@ -266,7 +266,7 @@ The XML also show the NUMA topology information if available.
 
 Inject NMI to the guest.
 
-=item B<list> [I<--inactive> | I<--all>]
+=item B<list> [I<--inactive> | I<--all>] [I<--managed-save>]
 
 Prints information about existing domains.  If no options are
 specified it prints out information about running domains.
@@ -337,6 +337,10 @@ crashed.
 
 =back
 
+If I<--managed-save> is specified, then domains that have managed save
+state (only possible if they are in the B<shut off> state) will
+instead show as B<saved> in the listing.
+
 =item B<freecell> [B<cellno> | I<--all>]
 
 Prints the available amount of memory on the machine or within a