summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/export/vduse-blk.c4
-rw-r--r--docs/tools/qemu-storage-daemon.rst5
-rw-r--r--qapi/block-export.json7
-rw-r--r--storage-daemon/qemu-storage-daemon.c8
4 files changed, 13 insertions, 11 deletions
diff --git a/block/export/vduse-blk.c b/block/export/vduse-blk.c
index 066e088b00..f101c24c3f 100644
--- a/block/export/vduse-blk.c
+++ b/block/export/vduse-blk.c
@@ -300,7 +300,7 @@ static int vduse_blk_exp_create(BlockExport *exp, BlockExportOptions *opts,
features |= 1ULL << VIRTIO_BLK_F_RO;
}
- vblk_exp->dev = vduse_dev_create(exp->id, VIRTIO_ID_BLOCK, 0,
+ vblk_exp->dev = vduse_dev_create(vblk_opts->name, VIRTIO_ID_BLOCK, 0,
features, num_queues,
sizeof(struct virtio_blk_config),
(char *)&config, &vduse_blk_ops,
@@ -312,7 +312,7 @@ static int vduse_blk_exp_create(BlockExport *exp, BlockExportOptions *opts,
}
vblk_exp->recon_file = g_strdup_printf("%s/vduse-blk-%s",
- g_get_tmp_dir(), exp->id);
+ g_get_tmp_dir(), vblk_opts->name);
if (vduse_set_reconnect_log_file(vblk_exp->dev, vblk_exp->recon_file)) {
error_setg(errp, "failed to set reconnect log file");
ret = -EINVAL;
diff --git a/docs/tools/qemu-storage-daemon.rst b/docs/tools/qemu-storage-daemon.rst
index 034f2809a6..ea00149a63 100644
--- a/docs/tools/qemu-storage-daemon.rst
+++ b/docs/tools/qemu-storage-daemon.rst
@@ -77,7 +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>][,serial=<serial-number>]
+ --export [type=]vduse-blk,id=<id>,node-name=<node-name>,name=<vduse-name>[,writable=on|off][,num-queues=<num-queues>][,queue-size=<queue-size>][,logical-block-size=<block-size>][,serial=<serial-number>]
is a block export definition. ``node-name`` is the block node that should be
exported. ``writable`` determines whether or not the export allows write
@@ -111,7 +111,8 @@ 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.
+ The ``vduse-blk`` export type takes a ``name`` (must be unique across the host)
+ to create the VDUSE device.
``num-queues`` sets the number of virtqueues (the default is 1).
``queue-size`` sets the virtqueue descriptor table size (the default is 256).
diff --git a/qapi/block-export.json b/qapi/block-export.json
index 618a6367c9..4627bbc4e6 100644
--- a/qapi/block-export.json
+++ b/qapi/block-export.json
@@ -183,6 +183,7 @@
#
# A vduse-blk block export.
#
+# @name: the name of VDUSE device (must be unique across the host).
# @num-queues: the number of virtqueues. Defaults to 1.
# @queue-size: the size of virtqueue. Defaults to 256.
# @logical-block-size: Logical block size in bytes. Range [512, PAGE_SIZE]
@@ -192,7 +193,8 @@
# Since: 7.1
##
{ 'struct': 'BlockExportOptionsVduseBlk',
- 'data': { '*num-queues': 'uint16',
+ 'data': { 'name': 'str',
+ '*num-queues': 'uint16',
'*queue-size': 'uint16',
'*logical-block-size': 'size',
'*serial': 'str' } }
@@ -320,8 +322,7 @@
# Describes a block export, i.e. how single node should be exported on an
# external interface.
#
-# @id: A unique identifier for the block export (across the host for vduse-blk
-# export type or across all export types for other types)
+# @id: A unique identifier for the block export (across all export types)
#
# @node-name: The node name of the block node to be exported (since: 5.2)
#
diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
index 4e18d3fc85..b8e910f220 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -123,12 +123,12 @@ static void help(void)
#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"
+" ,name=<vduse-name>[,writable=on|off]\n"
+" [,num-queues=<num-queues>][,queue-size=<queue-size>]\n"
" [,logical-block-size=<logical-block-size>]\n"
" [,serial=<serial-number>]\n"
-" export the specified block node as a vduse-blk\n"
-" device using the id as the VDUSE device name\n"
+" export the specified block node as a\n"
+" vduse-blk device\n"
"\n"
#endif /* CONFIG_VDUSE_BLK_EXPORT */
" --monitor [chardev=]name[,mode=control][,pretty[=on|off]]\n"