[libvirt PATCH 3/6] docs: introduces new vhostuser disk type

Peter Krempa pkrempa at redhat.com
Wed Feb 3 09:21:37 UTC 2021


On Tue, Feb 02, 2021 at 16:04:09 +0100, Pavel Hrdina wrote:
>      <disk type='vhostuser' device='disk'>
>        <driver name='qemu' type='raw'/>
>        <source type='unix' path='/tmp/vhost-blk.sock' mode='client'>
>          <reconnect enabled='yes' timeout='10'/>
>        </source>
>        <target dev='vda' bus='virtio'/>
>      </disk>
> 
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
>  docs/formatdomain.rst         | 32 ++++++++++++++++++++++++++++++--
>  docs/schemas/domaincommon.rng | 19 +++++++++++++++++++
>  2 files changed, 49 insertions(+), 2 deletions(-)

Sorry for two replies, I've trimmed out too much in my first reply and
didn't want to bother to undo it.

> 
> diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
> index a09868bed5..99f5cad571 100644
> --- a/docs/formatdomain.rst
> +++ b/docs/formatdomain.rst
> @@ -2419,6 +2419,13 @@ paravirtualized driver is specified via the ``disk`` element.
>         </source>
>         <target dev='vde' bus='virtio'/>
>       </disk>
> +     <disk type='vhostuser' device='disk'>
> +       <driver name='qemu' type='raw'/>
> +       <source type='unix' path='/tmp/vhost-blk.sock' mode='client'>

mode='client' is an example here ...

> +         <reconnect enabled='yes' timeout='10'/>
> +       </source>
> +       <target dev='vdf' bus='virtio'/>
> +     </disk>
>     </devices>
>     ...
>  

[...]

> @@ -2581,6 +2588,18 @@ paravirtualized driver is specified via the ``disk`` element.
>        is not involved (compared to passing say ``/dev/nvme0n1`` via
>        ``<disk type='block'>`` and therefore lower latencies can be achieved.
>  
> +   ``vhostuser``
> +      Enables the hypervisor to connect to another process using vhost-user
> +      protocol. Requires shared memory configured for the VM, for more details
> +      see ``access`` mode for `memoryBacking <#elementsMemoryBacking>` element.
> +
> +      The ``source`` element has following mandatory attributes:
> +
> +      ``type``
> +         The type of char device. Currently only ``unix`` type is supported.
> +      ``path``
> +         Path to the unix socket to be used as disk source.

... but isn't mentioned here, ...

>     With "file", "block", and "volume", one or more optional sub-elements
>     ``seclabel``, `described below <#seclabel>`__ (and :since:`since 0.9.9` ),
>     can be used to override the domain security labeling policy for just that

[...]

> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
> index 7bab818bc9..98d5cee8c0 100644
> --- a/docs/schemas/domaincommon.rng
> +++ b/docs/schemas/domaincommon.rng

[...]

> @@ -2155,6 +2156,24 @@
>      </optional>
>    </define>
>  
> +  <define name="diskSourceVhostUser">
> +    <attribute name="type">
> +      <value>vhostuser</value>
> +    </attribute>
> +    <element name="source">
> +      <attribute name="type">
> +        <value>unix</value>
> +      </attribute>
> +      <attribute name="path">
> +        <ref name="absFilePath"/>
> +      </attribute>

... nor here.

> +      <optional>
> +         <ref name="reconnect"/>
> +      </optional>
> +      <empty/>
> +    </element>
> +  </define>
> +
>    <define name="diskTarget">
>      <data type="string">
>        <param name="pattern">(ioemu:)?(fd|hd|sd|vd|xvd|ubd)[a-zA-Z0-9_]+</param>
> -- 
> 2.29.2
> 




More information about the libvir-list mailing list