Knowing whether 'virsh start' will resume a saved image or do
a fresh boot is useful enough to expose via 'virsh list'.
* tools/virsh.c (cmdList): add --managed-save flag
* tools/virsh.pod (list): Document it.
Based on a suggestion by Miklos Vajna.
---
Turned out to not be too tough.
tools/virsh.c | 12 +++++++++++-
tools/virsh.pod | 6 +++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 27d0d6f..c701764 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -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))
@@ -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]);
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 0af0f3c..9e5ff2e 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -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
--
1.7.4.4