vhost-scsi: Improve error reporting for invalid vhostfd
commit248337e178fbcf1c20132d4f3d1033cb0dde7638
authorMarkus Armbruster <armbru@redhat.com>
Mon, 9 Feb 2015 10:49:08 +0000 (9 11:49 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 18 Feb 2015 09:50:10 +0000 (18 10:50 +0100)
tree9fe0de54e9ab6345e073817dd356ab689d72df70
parentcd2d5541271f1934345d8ca42f5fafff1744eee7
vhost-scsi: Improve error reporting for invalid vhostfd

We get two error messages: one from monitor_handle_fd_param2(), and
another one from vhost_scsi_realize().  The second one gets suppressed
in QMP context.

That's because monitor_handle_fd_param() calls qerror_report_err().
Calling qerror_report_err() is always inappropriate in realize
methods, because it doesn't return the Error object.  It either
reports the error to stderr or the human monitor, or it stores it in
the QMP monitor, where it makes the QMP command fail even when the
realize method ignores the error and succeeds.  Fortunately,
vhost_scsi_realize() doesn't do that.

Fix by switching to monitor_handle_fd_param2().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/vhost-scsi.c