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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list