[PATCH 3/3] nodedev: add parent_addr to mdev nodedev dumpxml

Jonathon Jongsma jjongsma at redhat.com
Fri Feb 4 17:10:51 UTC 2022


On 2/4/22 9:32 AM, Boris Fiuczynski wrote:
> As the parent address is part of the mdev nodedev name lets expose the
> internally available parent address in the XML.

What is the issue that you're trying to solve here? The mdev xml already 
has a reference to the name of the parent device. So presumably you can 
look up the parent nodedev by name and then find its address, no? This 
seems like you're duplicating parent information in the child. Is it 
just for convenience?

Jonathon


> 
> Signed-off-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
> ---
>   docs/schemas/nodedev.rng                               | 5 +++++
>   src/conf/node_device_conf.c                            | 2 ++
>   tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml | 5 +++++
>   3 files changed, 12 insertions(+)
> 
> diff --git a/docs/schemas/nodedev.rng b/docs/schemas/nodedev.rng
> index e4733f0804..0d7d1168b6 100644
> --- a/docs/schemas/nodedev.rng
> +++ b/docs/schemas/nodedev.rng
> @@ -644,6 +644,11 @@
>             <ref name="UUID"/>
>           </element>
>         </optional>
> +      <optional>
> +        <element name="parent_addr">
> +          <data type="string"/>
> +        </element>
> +      </optional>
>         <zeroOrMore>
>           <element name="attr">
>             <attribute name="name"/>
> diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
> index 0bac0fde8d..61c8715037 100644
> --- a/src/conf/node_device_conf.c
> +++ b/src/conf/node_device_conf.c
> @@ -604,6 +604,8 @@ virNodeDeviceCapMdevDefFormat(virBuffer *buf,
>   
>       virBufferEscapeString(buf, "<type id='%s'/>\n", data->mdev.type);
>       virBufferEscapeString(buf, "<uuid>%s</uuid>\n", data->mdev.uuid);
> +    virBufferEscapeString(buf, "<parent_addr>%s</parent_addr>\n",
> +                          data->mdev.parent_addr);
>       virBufferAsprintf(buf, "<iommuGroup number='%u'/>\n",
>                         data->mdev.iommuGroupNumber);
>   
> diff --git a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
> index 4df5f4f43c..012c1a1596 100644
> --- a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
> +++ b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
> @@ -4,6 +4,7 @@
>     <capability type='mdev'>
>       <type id='i915-GVTg_V5_4'/>
>       <uuid>200f228a-c80a-4d50-bfb7-f5a0e4e34045</uuid>
> +    <parent_addr>0000:00:02.0</parent_addr>
>       <iommuGroup number='0'/>
>     </capability>
>   </device>
> @@ -13,6 +14,7 @@
>     <capability type='mdev'>
>       <type id='i915-GVTg_V5_4'/>
>       <uuid>de807ffc-1923-4d5f-b6c9-b20ecebc6d4b</uuid>
> +    <parent_addr>0000:00:02.0</parent_addr>
>       <iommuGroup number='0'/>
>     </capability>
>   </device>
> @@ -22,6 +24,7 @@
>     <capability type='mdev'>
>       <type id='i915-GVTg_V5_8'/>
>       <uuid>435722ea-5f43-468a-874f-da34f1217f13</uuid>
> +    <parent_addr>0000:00:02.0</parent_addr>
>       <iommuGroup number='0'/>
>       <attr name='testattr' value='42'/>
>     </capability>
> @@ -32,6 +35,7 @@
>     <capability type='mdev'>
>       <type id='vfio_ap-passthrough'/>
>       <uuid>783e6dbb-ea0e-411f-94e2-717eaad438bf</uuid>
> +    <parent_addr>matrix</parent_addr>
>       <iommuGroup number='0'/>
>       <attr name='assign_adapter' value='5'/>
>       <attr name='assign_adapter' value='6'/>
> @@ -47,6 +51,7 @@
>     <capability type='mdev'>
>       <type id='vfio_ccw-io'/>
>       <uuid>cc000052-9b13-9b13-9b13-cc23009b1326</uuid>
> +    <parent_addr>0.0.0052</parent_addr>
>       <iommuGroup number='0'/>
>     </capability>
>   </device>




More information about the libvir-list mailing list