aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/tools/qemu-storage-daemon.rst21
-rw-r--r--storage-daemon/qemu-storage-daemon.c9
2 files changed, 30 insertions, 0 deletions
diff --git a/docs/tools/qemu-storage-daemon.rst b/docs/tools/qemu-storage-daemon.rst
index 8b97592663..fbeaf76954 100644
--- a/docs/tools/qemu-storage-daemon.rst
+++ b/docs/tools/qemu-storage-daemon.rst
@@ -77,6 +77,7 @@ Standard options:
--export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,addr.type=unix,addr.path=<socket-path>[,writable=on|off][,logical-block-size=<block-size>][,num-queues=<num-queues>]
--export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,addr.type=fd,addr.str=<fd>[,writable=on|off][,logical-block-size=<block-size>][,num-queues=<num-queues>]
--export [type=]fuse,id=<id>,node-name=<node-name>,mountpoint=<file>[,growable=on|off][,writable=on|off][,allow-other=on|off|auto]
+ --export [type=]vduse-blk,id=<id>,node-name=<node-name>[,writable=on|off][,num-queues=<num-queues>][,queue-size=<queue-size>][,logical-block-size=<block-size>]
is a block export definition. ``node-name`` is the block node that should be
exported. ``writable`` determines whether or not the export allows write
@@ -110,6 +111,26 @@ Standard options:
``allow-other`` to auto (the default) will try enabling this option, and on
error fall back to disabling it.
+ The ``vduse-blk`` export type uses the ``id`` as the VDUSE device name.
+ ``num-queues`` sets the number of virtqueues (the default is 1).
+ ``queue-size`` sets the virtqueue descriptor table size (the default is 256).
+
+ The instantiated VDUSE device must then be added to the vDPA bus using the
+ vdpa(8) command from the iproute2 project::
+
+ # vdpa dev add name <id> mgmtdev vduse
+
+ The device can be removed from the vDPA bus later as follows::
+
+ # vdpa dev del <id>
+
+ For more information about attaching vDPA devices to the host with
+ virtio_vdpa.ko or attaching them to guests with vhost_vdpa.ko, see
+ https://vdpa-dev.gitlab.io/.
+
+ For more information about VDUSE, see
+ https://docs.kernel.org/userspace-api/vduse.html.
+
.. option:: --monitor MONITORDEF
is a QMP monitor definition. See the :manpage:`qemu(1)` manual page for
diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
index c104817cdd..17fd3f2f5f 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -121,6 +121,15 @@ static void help(void)
" vhost-user-blk device over file descriptor\n"
"\n"
#endif /* CONFIG_VHOST_USER_BLK_SERVER */
+#ifdef CONFIG_VDUSE_BLK_EXPORT
+" --export [type=]vduse-blk,id=<id>,node-name=<node-name>\n"
+" [,writable=on|off][,num-queues=<num-queues>]\n"
+" [,queue-size=<queue-size>]\n"
+" [,logical-block-size=<logical-block-size>]\n"
+" export the specified block node as a vduse-blk\n"
+" device using the id as the VDUSE device name\n"
+"\n"
+#endif /* CONFIG_VDUSE_BLK_EXPORT */
" --monitor [chardev=]name[,mode=control][,pretty[=on|off]]\n"
" configure a QMP monitor\n"
"\n"