From 7884b40659527f83891feffa9b413b4b761d93e8 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 22 Nov 2019 14:26:56 +0100 Subject: [PATCH] virsh: Implement VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED for 'domjobinfo' Signed-off-by: Peter Krempa Reviewed-by: Eric Blake --- tools/virsh-domain.c | 9 +++++++++ tools/virsh.pod | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 99194c2f81..14ea3f9cfb 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -6025,6 +6025,10 @@ static const vshCmdOptDef opts_domjobinfo[] = { .type = VSH_OT_BOOL, .help = N_("return statistics of a recently completed job") }, + {.name = "keep-completed", + .type = VSH_OT_BOOL, + .help = N_("don't destroy statistics of a recently completed job when reading") + }, {.name = NULL} }; @@ -6117,12 +6121,17 @@ cmdDomjobinfo(vshControl *ctl, const vshCmd *cmd) int op; int rc; + VSH_REQUIRE_OPTION("keep-completed", "completed"); + if (!(dom = virshCommandOptDomain(ctl, cmd, NULL))) return false; if (vshCommandOptBool(cmd, "completed")) flags |= VIR_DOMAIN_JOB_STATS_COMPLETED; + if (vshCommandOptBool(cmd, "keep-completed")) + flags |= VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED; + memset(&info, 0, sizeof(info)); rc = virDomainGetJobStats(dom, &info.type, ¶ms, &nparams, flags); diff --git a/tools/virsh.pod b/tools/virsh.pod index 2dce4493cb..59743a5aa4 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -1380,12 +1380,13 @@ Returns basic information about the domain. Abort the currently running domain job. -=item B I [I<--completed>] +=item B I [I<--completed> [I<--keep-completed>]] Returns information about jobs running on a domain. I<--completed> tells virsh to return information about a recently finished job. Statistics of -a completed job are automatically destroyed once read or when libvirtd -is restarted. Note that time information returned for completed +a completed job are automatically destroyed once read (unless +I<--keep-completed> is used) or when libvirtd is restarted. +Note that time information returned for completed migrations may be completely irrelevant unless both source and destination hosts have synchronized time (i.e., NTP daemon is running on both of them).