提交 d4a4933a 编写于 作者: P Peter Krempa

api: Allow keeping completed domain job stats when reading them

virDomainGetJobStats destroys the completed statistics on the first
read. Give the user possibility to keep them around if they wish so.

Add a flag VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED which will read the stats
without destroying them.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
上级 54a9d6e5
...@@ -3246,6 +3246,8 @@ struct _virDomainJobInfo { ...@@ -3246,6 +3246,8 @@ struct _virDomainJobInfo {
typedef enum { typedef enum {
VIR_DOMAIN_JOB_STATS_COMPLETED = 1 << 0, /* return stats of a recently VIR_DOMAIN_JOB_STATS_COMPLETED = 1 << 0, /* return stats of a recently
* completed job */ * completed job */
VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED = 1 << 1, /* don't remove completed
stats when reading them */
} virDomainGetJobStatsFlags; } virDomainGetJobStatsFlags;
int virDomainGetJobInfo(virDomainPtr dom, int virDomainGetJobInfo(virDomainPtr dom,
......
...@@ -8796,7 +8796,8 @@ virDomainGetJobInfo(virDomainPtr domain, virDomainJobInfoPtr info) ...@@ -8796,7 +8796,8 @@ virDomainGetJobInfo(virDomainPtr domain, virDomainJobInfoPtr info)
* flag may be used to query statistics of a completed incoming pre-copy * flag may be used to query statistics of a completed incoming pre-copy
* migration (statistics for post-copy migration are only available on the * migration (statistics for post-copy migration are only available on the
* source host). Statistics of a completed job are automatically destroyed * source host). Statistics of a completed job are automatically destroyed
* once read or when libvirtd is restarted. Note that time information * once read (unless the VIR_DOMAIN_JOB_STATS_COMPLETED_KEEP is used as well)
* or when libvirtd is restarted. Note that time information
* returned for completed migrations may be completely irrelevant unless both * returned for completed migrations may be completely irrelevant unless both
* source and destination hosts have synchronized time (i.e., NTP daemon is * source and destination hosts have synchronized time (i.e., NTP daemon is
* running on both of them). The statistics of a completed job can also be * running on both of them). The statistics of a completed job can also be
...@@ -8823,6 +8824,9 @@ virDomainGetJobStats(virDomainPtr domain, ...@@ -8823,6 +8824,9 @@ virDomainGetJobStats(virDomainPtr domain,
virCheckNonNullArgGoto(type, error); virCheckNonNullArgGoto(type, error);
virCheckNonNullArgGoto(params, error); virCheckNonNullArgGoto(params, error);
virCheckNonNullArgGoto(nparams, error); virCheckNonNullArgGoto(nparams, error);
VIR_REQUIRE_FLAG_GOTO(VIR_DOMAIN_JOB_STATS_KEEP_COMPLETED,
VIR_DOMAIN_JOB_STATS_COMPLETED,
error);
conn = domain->conn; conn = domain->conn;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册