All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] block: Minor vhost-user-blk fixes
@ 2021-12-23 10:14 Philippe Mathieu-Daudé
  2021-12-23 10:14 ` [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help Philippe Mathieu-Daudé
  2021-12-23 10:14 ` [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER Philippe Mathieu-Daudé
  0 siblings, 2 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-12-23 10:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, qemu-block, Eric Blake, Markus Armbruster,
	Stefan Hajnoczi, Philippe Mathieu-Daudé

- Add vhost-user-blk help to qemu-storage-daemon,
- Do not list vhost-user-blk in BlockExportType when
  CONFIG_VHOST_USER_BLK_SERVER is disabled.

Since v1:
- Reword patch 2 description (Markus)
- Fix BlockExportOptions enum build failure (Markus)

Philippe Mathieu-Daudé (2):
  qemu-storage-daemon: Add vhost-user-blk help
  qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER

 qapi/block-export.json               |  6 ++++--
 storage-daemon/qemu-storage-daemon.c | 13 +++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

-- 
2.33.1




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help
  2021-12-23 10:14 [PATCH v2 0/2] block: Minor vhost-user-blk fixes Philippe Mathieu-Daudé
@ 2021-12-23 10:14 ` Philippe Mathieu-Daudé
  2022-01-06 22:15   ` Eric Blake
  2021-12-23 10:14 ` [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER Philippe Mathieu-Daudé
  1 sibling, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-12-23 10:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Qing Wang, qemu-block, Eric Blake, Markus Armbruster,
	Stefan Hajnoczi, Philippe Mathieu-Daudé

Add missing vhost-user-blk help:

  $ qemu-storage-daemon -h
  ...
    --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 the specified block node as a
                           vhosts-user-blk device over UNIX domain socket
    --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,
             fd,addr.str=<fd>[,writable=on|off]
             [,logical-block-size=<block-size>][,num-queues=<num-queues>]
                           export the specified block node as a
                           vhosts-user-blk device over file descriptor
  ...

Fixes: 90fc91d50b7 ("convert vhost-user-blk server to block export API")
Reported-by: Qing Wang <qinwang@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 storage-daemon/qemu-storage-daemon.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
index 52cf17e8ace..0c19e128e3f 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -104,6 +104,19 @@ static void help(void)
 "                         export the specified block node over FUSE\n"
 "\n"
 #endif /* CONFIG_FUSE */
+#ifdef CONFIG_VHOST_USER_BLK_SERVER
+"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
+"           addr.type=unix,addr.path=<socket-path>[,writable=on|off]\n"
+"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
+"                         export the specified block node as a\n"
+"                         vhosts-user-blk device over UNIX domain socket\n"
+"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
+"           fd,addr.str=<fd>[,writable=on|off]\n"
+"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
+"                         export the specified block node as a\n"
+"                         vhosts-user-blk device over file descriptor\n"
+"\n"
+#endif /* CONFIG_VHOST_USER_BLK_SERVER */
 "  --monitor [chardev=]name[,mode=control][,pretty[=on|off]]\n"
 "                         configure a QMP monitor\n"
 "\n"
-- 
2.33.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER
  2021-12-23 10:14 [PATCH v2 0/2] block: Minor vhost-user-blk fixes Philippe Mathieu-Daudé
  2021-12-23 10:14 ` [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help Philippe Mathieu-Daudé
@ 2021-12-23 10:14 ` Philippe Mathieu-Daudé
  2022-01-14 10:56   ` Markus Armbruster
  1 sibling, 1 reply; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-12-23 10:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, qemu-block, Eric Blake, Markus Armbruster,
	Stefan Hajnoczi, Philippe Mathieu-Daudé

When building QEMU with --disable-vhost-user and using introspection,
query-qmp-schema lists vhost-user-blk even though it's not actually
available:

  { "execute": "query-qmp-schema" }
  {
      "return": [
          ...
          {
              "name": "312",
              "members": [
                  {
                      "name": "nbd"
                  },
                  {
                      "name": "vhost-user-blk"
                  }
              ],
              "meta-type": "enum",
              "values": [
                  "nbd",
                  "vhost-user-blk"
              ]
          },

Restrict vhost-user-blk in BlockExportType when
CONFIG_VHOST_USER_BLK_SERVER is disabled, so it
doesn't end listed by query-qmp-schema.

Fixes: 90fc91d50b7 ("convert vhost-user-blk server to block export API")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2: Reword + restrict BlockExportOptions union (armbru)
---
 qapi/block-export.json | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/qapi/block-export.json b/qapi/block-export.json
index c1b92ce1c1c..f9ce79a974b 100644
--- a/qapi/block-export.json
+++ b/qapi/block-export.json
@@ -277,7 +277,8 @@
 # Since: 4.2
 ##
 { 'enum': 'BlockExportType',
-  'data': [ 'nbd', 'vhost-user-blk',
+  'data': [ 'nbd',
+            { 'name': 'vhost-user-blk', 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
             { 'name': 'fuse', 'if': 'CONFIG_FUSE' } ] }
 
 ##
@@ -319,7 +320,8 @@
   'discriminator': 'type',
   'data': {
       'nbd': 'BlockExportOptionsNbd',
-      'vhost-user-blk': 'BlockExportOptionsVhostUserBlk',
+      'vhost-user-blk': { 'type': 'BlockExportOptionsVhostUserBlk',
+                          'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
       'fuse': { 'type': 'BlockExportOptionsFuse',
                 'if': 'CONFIG_FUSE' }
    } }
-- 
2.33.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help
  2021-12-23 10:14 ` [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help Philippe Mathieu-Daudé
@ 2022-01-06 22:15   ` Eric Blake
  2022-01-07 10:47     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Blake @ 2022-01-06 22:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Kevin Wolf, Qing Wang, qemu-block, qemu-devel, Markus Armbruster,
	Stefan Hajnoczi

On Thu, Dec 23, 2021 at 11:14:25AM +0100, Philippe Mathieu-Daudé wrote:
> Add missing vhost-user-blk help:
> 
>   $ qemu-storage-daemon -h
>   ...
>     --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 the specified block node as a
>                            vhosts-user-blk device over UNIX domain socket

Why 'vhosts-' here instead of 'vhost'?

>     --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,
>              fd,addr.str=<fd>[,writable=on|off]
>              [,logical-block-size=<block-size>][,num-queues=<num-queues>]
>                            export the specified block node as a
>                            vhosts-user-blk device over file descriptor

here too.

>   ...
> 
> Fixes: 90fc91d50b7 ("convert vhost-user-blk server to block export API")
> Reported-by: Qing Wang <qinwang@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  storage-daemon/qemu-storage-daemon.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
> index 52cf17e8ace..0c19e128e3f 100644
> --- a/storage-daemon/qemu-storage-daemon.c
> +++ b/storage-daemon/qemu-storage-daemon.c
> @@ -104,6 +104,19 @@ static void help(void)
>  "                         export the specified block node over FUSE\n"
>  "\n"
>  #endif /* CONFIG_FUSE */
> +#ifdef CONFIG_VHOST_USER_BLK_SERVER
> +"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
> +"           addr.type=unix,addr.path=<socket-path>[,writable=on|off]\n"
> +"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
> +"                         export the specified block node as a\n"
> +"                         vhosts-user-blk device over UNIX domain socket\n"

This...

> +"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
> +"           fd,addr.str=<fd>[,writable=on|off]\n"
> +"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
> +"                         export the specified block node as a\n"
> +"                         vhosts-user-blk device over file descriptor\n"

...and this line would need the same tweak.

If you agree that it's a typo, then let's fix it, and you can have

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help
  2022-01-06 22:15   ` Eric Blake
@ 2022-01-07 10:47     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2022-01-07 10:47 UTC (permalink / raw)
  To: Eric Blake
  Cc: Kevin Wolf, Qing Wang, qemu-block, qemu-devel, Markus Armbruster,
	Stefan Hajnoczi

On 1/6/22 23:15, Eric Blake wrote:
> On Thu, Dec 23, 2021 at 11:14:25AM +0100, Philippe Mathieu-Daudé wrote:
>> Add missing vhost-user-blk help:
>>
>>   $ qemu-storage-daemon -h
>>   ...
>>     --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 the specified block node as a
>>                            vhosts-user-blk device over UNIX domain socket
> 
> Why 'vhosts-' here instead of 'vhost'?

Oops, I copy/pasted from qemu-storage-daemon.rst.

>>     --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,
>>              fd,addr.str=<fd>[,writable=on|off]
>>              [,logical-block-size=<block-size>][,num-queues=<num-queues>]
>>                            export the specified block node as a
>>                            vhosts-user-blk device over file descriptor
> 
> here too.
> 
>>   ...
>>
>> Fixes: 90fc91d50b7 ("convert vhost-user-blk server to block export API")
>> Reported-by: Qing Wang <qinwang@redhat.com>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>  storage-daemon/qemu-storage-daemon.c | 13 +++++++++++++
>>  1 file changed, 13 insertions(+)
>>
>> diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
>> index 52cf17e8ace..0c19e128e3f 100644
>> --- a/storage-daemon/qemu-storage-daemon.c
>> +++ b/storage-daemon/qemu-storage-daemon.c
>> @@ -104,6 +104,19 @@ static void help(void)
>>  "                         export the specified block node over FUSE\n"
>>  "\n"
>>  #endif /* CONFIG_FUSE */
>> +#ifdef CONFIG_VHOST_USER_BLK_SERVER
>> +"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
>> +"           addr.type=unix,addr.path=<socket-path>[,writable=on|off]\n"
>> +"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
>> +"                         export the specified block node as a\n"
>> +"                         vhosts-user-blk device over UNIX domain socket\n"
> 
> This...
> 
>> +"  --export [type=]vhost-user-blk,id=<id>,node-name=<node-name>,\n"
>> +"           fd,addr.str=<fd>[,writable=on|off]\n"
>> +"           [,logical-block-size=<block-size>][,num-queues=<num-queues>]\n"
>> +"                         export the specified block node as a\n"
>> +"                         vhosts-user-blk device over file descriptor\n"
> 
> ...and this line would need the same tweak.
> 
> If you agree that it's a typo, then let's fix it, and you can have
> 
> Reviewed-by: Eric Blake <eblake@redhat.com>

Yes (I will also update qemu-storage-daemon.rst). Thank you!

Phil.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER
  2021-12-23 10:14 ` [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER Philippe Mathieu-Daudé
@ 2022-01-14 10:56   ` Markus Armbruster
  0 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2022-01-14 10:56 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Kevin Wolf, qemu-block, Eric Blake, qemu-devel, Stefan Hajnoczi

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> When building QEMU with --disable-vhost-user and using introspection,
> query-qmp-schema lists vhost-user-blk even though it's not actually
> available:
>
>   { "execute": "query-qmp-schema" }
>   {
>       "return": [
>           ...
>           {
>               "name": "312",
>               "members": [
>                   {
>                       "name": "nbd"
>                   },
>                   {
>                       "name": "vhost-user-blk"
>                   }
>               ],
>               "meta-type": "enum",
>               "values": [
>                   "nbd",
>                   "vhost-user-blk"
>               ]
>           },
>
> Restrict vhost-user-blk in BlockExportType when
> CONFIG_VHOST_USER_BLK_SERVER is disabled, so it
> doesn't end listed by query-qmp-schema.
>
> Fixes: 90fc91d50b7 ("convert vhost-user-blk server to block export API")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> v2: Reword + restrict BlockExportOptions union (armbru)
> ---
>  qapi/block-export.json | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/block-export.json b/qapi/block-export.json
> index c1b92ce1c1c..f9ce79a974b 100644
> --- a/qapi/block-export.json
> +++ b/qapi/block-export.json
> @@ -277,7 +277,8 @@
>  # Since: 4.2
>  ##
>  { 'enum': 'BlockExportType',
> -  'data': [ 'nbd', 'vhost-user-blk',
> +  'data': [ 'nbd',
> +            { 'name': 'vhost-user-blk', 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },

Please break this line like

               { 'name': 'vhost-user-blk',
                 'if': 'CONFIG_VHOST_USER_BLK_SERVER' },

>              { 'name': 'fuse', 'if': 'CONFIG_FUSE' } ] }
>  
>  ##
> @@ -319,7 +320,8 @@
>    'discriminator': 'type',
>    'data': {
>        'nbd': 'BlockExportOptionsNbd',
> -      'vhost-user-blk': 'BlockExportOptionsVhostUserBlk',
> +      'vhost-user-blk': { 'type': 'BlockExportOptionsVhostUserBlk',
> +                          'if': 'CONFIG_VHOST_USER_BLK_SERVER' },
>        'fuse': { 'type': 'BlockExportOptionsFuse',
>                  'if': 'CONFIG_FUSE' }
>     } }

Acked-by: Markus Armbruster <armbru@redhat.com>



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-14 11:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-23 10:14 [PATCH v2 0/2] block: Minor vhost-user-blk fixes Philippe Mathieu-Daudé
2021-12-23 10:14 ` [PATCH v2 1/2] qemu-storage-daemon: Add vhost-user-blk help Philippe Mathieu-Daudé
2022-01-06 22:15   ` Eric Blake
2022-01-07 10:47     ` Philippe Mathieu-Daudé
2021-12-23 10:14 ` [PATCH v2 2/2] qapi/block: Restrict vhost-user-blk to CONFIG_VHOST_USER_BLK_SERVER Philippe Mathieu-Daudé
2022-01-14 10:56   ` Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.