Bug 1962088

Summary: [QSD] wrong help message for the fuse
Product: Red Hat Enterprise Linux 9 Reporter: qing.wang <qinwang>
Component: qemu-kvmAssignee: Kevin Wolf <kwolf>
qemu-kvm sub component: Storage QA Contact: qing.wang <qinwang>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: medium CC: coli, jinzhao, juzhang, kkiwi, lijin, mrezanin, philmd, qzhang, virt-maint, xuwei
Version: unspecifiedKeywords: Triaged
Target Milestone: betaFlags: pm-rhel: mirror+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-kvm-6.2.0-7.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-17 12:23:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description qing.wang 2021-05-19 09:53:08 UTC
Description of problem:
The fuse feature is not supported, but the help message still have relevant information.
If we do not support it, those message should be removed.



Version-Release number of selected component (if applicable):

qemu-kvm-common-6.0.0-16.module+el8.5.0+10848+2dccc46d.x86_64

How reproducible:


Steps to Reproduce:
1.
qemu-storage-daemon  -h

--export [type=]fuse,id=<id>,node-name=<node-name>,mountpoint=<file>
           [,growable=on|off][,writable=on|off]
                         export the specified block node over FUSE
2.
qemu-storage-daemon     --blockdev driver=file,node-name=file,filename=disk.qcow2     --blockdev driver=qcow2,node-name=qcow2,file=file     --export fuse,id=export,node-name=qcow2,mountpoint=disk.raw,writable=on
qemu-storage-daemon: --export fuse,id=export,node-name=qcow2,mountpoint=disk.raw,writable=on: Invalid parameter 'fuse'

3.

Actual results:
step1 the help message introduced the fuse usage.
Expected results:
The help message should remove fuse relevant information if we do not support the feature.

Additional info:

Comment 1 qing.wang 2021-05-21 04:09:09 UTC
It can not find export type vhost-user-blk infomation.

qemu-storage-daemon -h
Usage: qemu-storage-daemon [options]
QEMU storage daemon

  -h, --help             display this help and exit
  -T, --trace [[enable=]<pattern>][,events=<file>][,file=<file>]
                         specify tracing options
  -V, --version          output version information and exit

  --blockdev [driver=]<driver>[,node-name=<N>][,discard=ignore|unmap]
             [,cache.direct=on|off][,cache.no-flush=on|off]
             [,read-only=on|off][,auto-read-only=on|off]
             [,force-share=on|off][,detect-zeroes=on|off|unmap]
             [,driver specific parameters...]
                         configure a block backend

  --chardev <options>    configure a character device backend
                         (see the qemu(1) man page for possible options)

  --export [type=]nbd,id=<id>,node-name=<node-name>[,name=<export-name>]
           [,writable=on|off][,bitmap=<name>]
                         export the specified block node over NBD
                         (requires --nbd-server)

  --export [type=]fuse,id=<id>,node-name=<node-name>,mountpoint=<file>
           [,growable=on|off][,writable=on|off]
                         export the specified block node over FUSE

  --monitor [chardev=]name[,mode=control][,pretty[=on|off]]
                         configure a QMP monitor

  --nbd-server addr.type=inet,addr.host=<host>,addr.port=<port>
               [,tls-creds=<id>][,tls-authz=<id>][,max-connections=<n>]
  --nbd-server addr.type=unix,addr.path=<path>
               [,tls-creds=<id>][,tls-authz=<id>][,max-connections=<n>]
                         start an NBD server for exporting block nodes

  --object help          list object types that can be added
  --object <type>,help   list properties for the given object type
  --object <type>[,<property>=<value>...]
                         create a new object of type <type>, setting
                         properties in the order they are specified. Note
                         that the 'id' property must be set.
                         See the qemu(1) man page for documentation of the
                         objects that can be added.

  --pidfile <path>       write process ID to a file after startup

Comment 2 Philippe Mathieu-Daudé 2021-12-20 20:20:10 UTC
Upstream patch: https://lore.kernel.org/qemu-devel/20211220200034.2233987-2-philmd@redhat.com/

Comment 4 Kevin Wolf 2021-12-22 11:10:03 UTC
So there are two parts to this, it seems.

The incorrectly displayed help for the FUSE export even if FUSE is disabled should already be fixed with the 6.2 rebase (commit d1bbd965bd9).

Adding help for the vhost-user-blk export is the patch Philippe referenced in comment 2 and needs backporting once it is merged upstream.

Comment 7 Philippe Mathieu-Daudé 2022-01-21 20:24:46 UTC
(In reply to Kevin Wolf from comment #4)

> Adding help for the vhost-user-blk export is the patch Philippe referenced
> in comment 2 and needs backporting once it is merged upstream.

Merged upstream as c8cbc952426 ("qemu-storage-daemon: Add vhost-user-blk help").

Comment 8 Kevin Wolf 2022-01-24 16:38:21 UTC
Thanks for the reminder, Phil!

Comment 12 Yanan Fu 2022-02-09 03:50:04 UTC
QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass.

Comment 15 qing.wang 2022-02-14 07:33:13 UTC
Passed on
Red Hat Enterprise Linux release 9.0 Beta (Plow)
5.14.0-56.el9.x86_64
qemu-kvm-6.2.0-7.el9.x86_64


(workspace) root@dell-per440-07 /home/kar $ qemu-storage-daemon  -h
Usage: qemu-storage-daemon [options]
QEMU storage daemon

  -h, --help             display this help and exit
  -T, --trace [[enable=]<pattern>][,events=<file>][,file=<file>]
                         specify tracing options
  -V, --version          output version information and exit

  --blockdev [driver=]<driver>[,node-name=<N>][,discard=ignore|unmap]
             [,cache.direct=on|off][,cache.no-flush=on|off]
             [,read-only=on|off][,auto-read-only=on|off]
             [,force-share=on|off][,detect-zeroes=on|off|unmap]
             [,driver specific parameters...]
                         configure a block backend

  --chardev <options>    configure a character device backend
                         (see the qemu(1) man page for possible options)

  --export [type=]nbd,id=<id>,node-name=<node-name>[,name=<export-name>]
           [,writable=on|off][,bitmap=<name>]
                         export the specified block node over NBD
                         (requires --nbd-server)

  --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
                         vhost-user-blk device over UNIX domain socket
  --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 the specified block node as a
                         vhost-user-blk device over file descriptor

Comment 17 errata-xmlrpc 2022-05-17 12:23:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: qemu-kvm), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:2307