[libvirt] [PATCH v2 08/12] qemu_domain: Track pr-helper PID in status XML
John Ferlan
jferlan at redhat.com
Fri Mar 2 15:43:28 UTC 2018
On 02/21/2018 01:11 PM, Michal Privoznik wrote:
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/qemu/qemu_domain.c | 16 ++++++++++++++++
> src/qemu/qemu_domain.h | 2 ++
> 2 files changed, 18 insertions(+)
>
This seems reasonable... Although given the next patch and usage of
"daemon*s*" I'd almost expect this to be an array of prPid; otherwise,
plurality in the subsequent patch really don't make sense.
John
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index 45205fd03..f7da62dba 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -1864,6 +1864,7 @@ qemuDomainObjPrivateAlloc(void *opaque)
>
> priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
> priv->driver = opaque;
> + priv->prPid = (pid_t) -1;
>
> return priv;
>
> @@ -1926,6 +1927,8 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivatePtr priv)
>
> virBitmapFree(priv->migrationCaps);
> priv->migrationCaps = NULL;
> +
> + priv->prPid = (pid_t) -1;
> }
>
>
> @@ -2172,6 +2175,11 @@ qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
> if (qemuDomainObjPrivateXMLFormatBlockjobs(buf, vm) < 0)
> return -1;
>
> + if (priv->prPid != (pid_t) -1) {
> + virBufferAsprintf(buf, "<prPid>%lld</prPid>\n",
> + (long long) priv->prPid);
> + }
> +
> return 0;
> }
>
> @@ -2318,6 +2326,7 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
> xmlNodePtr *nodes = NULL;
> xmlNodePtr node = NULL;
> virQEMUCapsPtr qemuCaps = NULL;
> + long long prPid = -1;
>
> if (VIR_ALLOC(priv->monConfig) < 0)
> goto error;
> @@ -2524,6 +2533,13 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
> if (qemuDomainObjPrivateXMLParseBlockjobs(priv, ctxt) < 0)
> goto error;
>
> + if (virXPathLongLong("string(./prPid)", ctxt, &prPid) < -1) {
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> + _("unable to parse <prPid/>"));
> + goto error;
> + }
> + priv->prPid = (pid_t) prPid;
> +
> return 0;
>
> error:
> diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
> index b9258eb8e..418b47153 100644
> --- a/src/qemu/qemu_domain.h
> +++ b/src/qemu/qemu_domain.h
> @@ -342,6 +342,8 @@ struct _qemuDomainObjPrivate {
> /* Migration capabilities. Rechecked on reconnect, not to be saved in
> * private XML. */
> virBitmapPtr migrationCaps;
> +
> + pid_t prPid;
> };
>
> # define QEMU_DOMAIN_PRIVATE(vm) \
>
More information about the libvir-list
mailing list