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(a)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