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