From 1677f4c66cf2228eb14f1b0571d0e3b38d0d6606 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 9 Feb 2015 14:03:19 +0100 Subject: monitor: Clean up around monitor_handle_fd_param() monitor_handle_fd_param() is a wrapper around monitor_handle_fd_param2() that feeds errors to qerror_report_err() instead of returning them. qerror_report_err() is inappropriate in many contexts. monitor_handle_fd_param() looks simpler than monitor_handle_fd_param2(), which tempts use. Remove the temptation: drop the wrapper and open-code the (trivial) error handling instead. Replace the open-coded qerror_report_err() by error_report_err() in places that already use error_report(). Turns out that's everywhere. While there, rename monitor_handle_fd_param2() to monitor_fd_param(). Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- net/socket.c | 4 +++- net/tap.c | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'net') diff --git a/net/socket.c b/net/socket.c index 68a93cd7e3..c30e03f5ae 100644 --- a/net/socket.c +++ b/net/socket.c @@ -695,6 +695,7 @@ static int net_socket_udp_init(NetClientState *peer, int net_init_socket(const NetClientOptions *opts, const char *name, NetClientState *peer) { + Error *err = NULL; const NetdevSocketOptions *sock; assert(opts->kind == NET_CLIENT_OPTIONS_KIND_SOCKET); @@ -715,8 +716,9 @@ int net_init_socket(const NetClientOptions *opts, const char *name, if (sock->has_fd) { int fd; - fd = monitor_handle_fd_param(cur_mon, sock->fd); + fd = monitor_fd_param(cur_mon, sock->fd, &err); if (fd == -1) { + error_report_err(err); return -1; } qemu_set_nonblock(fd); diff --git a/net/tap.c b/net/tap.c index 1fe0edfdf7..968df46c8c 100644 --- a/net/tap.c +++ b/net/tap.c @@ -605,6 +605,7 @@ static int net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer, const char *downscript, const char *vhostfdname, int vnet_hdr, int fd) { + Error *err = NULL; TAPState *s; int vhostfd; @@ -643,8 +644,9 @@ static int net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer, options.force = tap->has_vhostforce && tap->vhostforce; if (tap->has_vhostfd || tap->has_vhostfds) { - vhostfd = monitor_handle_fd_param(cur_mon, vhostfdname); + vhostfd = monitor_fd_param(cur_mon, vhostfdname, &err); if (vhostfd == -1) { + error_report_err(err); return -1; } } else { @@ -704,6 +706,7 @@ int net_init_tap(const NetClientOptions *opts, const char *name, /* for the no-fd, no-helper case */ const char *script = NULL; /* suppress wrong "uninit'd use" gcc warning */ const char *downscript = NULL; + Error *err = NULL; const char *vhostfdname; char ifname[128]; @@ -729,8 +732,9 @@ int net_init_tap(const NetClientOptions *opts, const char *name, return -1; } - fd = monitor_handle_fd_param(cur_mon, tap->fd); + fd = monitor_fd_param(cur_mon, tap->fd, &err); if (fd == -1) { + error_report_err(err); return -1; } @@ -768,8 +772,9 @@ int net_init_tap(const NetClientOptions *opts, const char *name, } for (i = 0; i < nfds; i++) { - fd = monitor_handle_fd_param(cur_mon, fds[i]); + fd = monitor_fd_param(cur_mon, fds[i], &err); if (fd == -1) { + error_report_err(err); return -1; } -- cgit v1.2.3 From 12d0cc2db971cc0888b7d465143c68dee381c88b Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 10 Feb 2015 15:02:06 +0100 Subject: net: Avoid qerror_report_err() outside QMP command handlers qerror_report_err() is a transitional interface to help with converting existing monitor commands to QMP. It should not be used elsewhere. Replace by error_report_err() in HMP command handler hmp_host_net_add() and initial startup helpers net_init_client(), net_init_netdev(). Keep it in QMP command handler qmp_netdev_add(). Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- net/net.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'net') diff --git a/net/net.c b/net/net.c index 74e651e17f..ec6e5813f0 100644 --- a/net/net.c +++ b/net/net.c @@ -974,8 +974,7 @@ void net_host_device_add(Monitor *mon, const QDict *qdict) net_client_init(opts, 0, &local_err); if (local_err) { - qerror_report_err(local_err); - error_free(local_err); + error_report_err(local_err); monitor_printf(mon, "adding host network device %s failed\n", device); } } @@ -1270,8 +1269,7 @@ static int net_init_client(QemuOpts *opts, void *dummy) net_client_init(opts, 0, &local_err); if (local_err) { - qerror_report_err(local_err); - error_free(local_err); + error_report_err(local_err); return -1; } @@ -1285,8 +1283,7 @@ static int net_init_netdev(QemuOpts *opts, void *dummy) ret = net_client_init(opts, 1, &local_err); if (local_err) { - qerror_report_err(local_err); - error_free(local_err); + error_report_err(local_err); return -1; } -- cgit v1.2.3