[PATCH libvirt v3 03/11] nodedev: detect AP queues

Erik Skultety eskultet at redhat.com
Mon Nov 30 14:20:43 UTC 2020


On Tue, Nov 17, 2020 at 01:10:57PM +0100, Shalini Chellathurai Saroja wrote:
> Each AP card device can support upto 256 AP queues.  AP queues are
> also detected by udev, so add support for libvirt nodedev driver.
> 
> Signed-off-by: Farhan Ali <alifm at linux.ibm.com>
> Signed-off-by: Shalini Chellathurai Saroja <shalini at linux.ibm.com>
> Reviewed-by: Bjoern Walk <bwalk at linux.ibm.com>
> Reviewed-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
> ---
>  docs/formatnode.html.in            | 15 +++++++
>  docs/schemas/nodedev.rng           | 25 +++++++++++
>  src/conf/node_device_conf.c        | 66 ++++++++++++++++++++++++++++++
>  src/conf/node_device_conf.h        |  9 ++++
>  src/conf/virnodedeviceobj.c        |  1 +
>  src/node_device/node_device_udev.c | 30 ++++++++++++++
>  tools/virsh-nodedev.c              |  1 +
>  7 files changed, 147 insertions(+)
> 

...

> +static int
> +virNodeDevCapAPQueueParseXML(xmlXPathContextPtr ctxt,
> +                            virNodeDeviceDefPtr def,
> +                            xmlNodePtr node,
> +                            virNodeDevCapAPQueuePtr ap_queue)
> +{
> +    xmlNodePtr orig;

We could benefit from VIR_XPATH_NODE_AUTORESTORE(ctxt) here as well.

> +    int ret = -1;
> +    g_autofree char *adapter = NULL, *dom = NULL;

^One definition per line please.

> +
> +    orig = ctxt->node;
> +    ctxt->node = node;
> +
> +   if (!(adapter = virXPathString("string(./ap-adapter[1])", ctxt))) {
> +        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                       _("missing ap-adapter value for '%s'"), def->name);
> +        return -1;
> +    }
> +
> +    if (virStrToLong_uip(adapter, NULL, 0, &ap_queue->ap_adapter) < 0) {
> +        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                       _("invalid ap-adapter value '%s' for '%s'"),
> +                       adapter, def->name);
> +        goto out;
> +    }

Like I mentioned in patch 1, we could extract ^this into a tiny static helper.

Regards,
Erik




More information about the libvir-list mailing list