On 05/15/2015 05:59 AM, Markus Armbruster wrote: > When -netdev tap fails, it first reports a specific error, then a > generic one, like this: > > $ qemu-system-x86_64 -netdev tap,id=foo > qemu-system-x86_64: -netdev tap,id=foo: could not configure /dev/net/tun: > Operation not permitted > qemu-system-x86_64: -netdev tap,id=foo: Device 'tap' could not be > initialized > > With the command line, the messages go to stderr. In HMP, they go to > the monitor. In QMP, the second one becomes the error reply, and the > first one goes to stderr. > > Convert net_init_tap() to Error. This suppresses the unwanted second > message, and makes the specific error the QMP error reply. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > --- > net/tap.c | 45 ++++++++++++++++++++++----------------------- > 1 file changed, 22 insertions(+), 23 deletions(-) >
> @@ -807,15 +807,15 @@ int net_init_tap(const NetClientOptions *opts, const > char *name, > tap->has_vhostfds ? vhost_fds[i] : NULL, > vnet_hdr, fd, &err); > if (err) { > - error_report_err(err); > + error_propagate(errp, err); > return -1; > } > } > } else if (tap->has_helper) { > if (tap->has_ifname || tap->has_script || tap->has_downscript || > tap->has_vnet_hdr || tap->has_queues || tap->has_vhostfds) { > - error_report("ifname=, script=, downscript=, and vnet_hdr= " > - "queues=, and vhostfds= are invalid with helper="); > + error_setg(errp, "ifname=, script=, downscript=, and vnet_hdr=, " > + "queues=, and vhostfds= are invalid with helper="); Still might be worth deleting the first 'and'; committer could do that when preparing the pull request. But my R-b stands either way. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature