[libvirt] [PATCH v3 2/2] qemu: enable debug threads

Jiri Denemark jdenemar at redhat.com
Thu Mar 10 18:45:42 UTC 2016


On Thu, Mar 10, 2016 at 19:31:56 +0100, Marc-André Lureau wrote:
> When debug-threads is enabled, individual threads are given a separate
> name (on Linux)
> 
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=1140121
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> ---
>  src/qemu/qemu_command.c | 40 ++++++++++++++++++++++++++++++++--------
>  1 file changed, 32 insertions(+), 8 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index ee06479..96be9e1 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -5333,6 +5333,36 @@ qemuAppendKeyWrapMachineParms(virBuffer *buf, virQEMUCapsPtr qemuCaps,
>  }
>  
>  static int
> +qemuBuildNameCommandLine(virCommandPtr cmd,
> +                         virQEMUDriverConfigPtr cfg,
> +                         const virDomainDef *def,
> +                         virQEMUCapsPtr qemuCaps)
> +{
> +    virBuffer buf = VIR_BUFFER_INITIALIZER;
> +    char *name_args;

The name_args variable is not necessary since...

> +
> +    virCommandAddArg(cmd, "-name");
> +
> +    virBufferAsprintf(&buf, "%s", def->name);
> +
> +    if (cfg->setProcessName &&
> +        virQEMUCapsGet(qemuCaps, QEMU_CAPS_NAME_PROCESS))
> +        virBufferAsprintf(&buf, ",process=qemu:%s", def->name);
> +
> +    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NAME_DEBUG_THREADS))
> +        virBufferAddLit(&buf, ",debug-threads=on");
> +

you can simplify the following code

> +    if (virBufferCheckError(&buf) < 0)
> +        return -1;
> +
> +    name_args = virBufferContentAndReset(&buf);
> +    virCommandAddArg(cmd, name_args);
> +    VIR_FREE(name_args);

to just

    virCommandAddArgBuffer(cmd, &buf);

> +
> +    return 0;
> +}

ACK with that tweak.

Jirka




More information about the libvir-list mailing list