
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@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