Commit 1677f4c6 authored by Markus Armbruster's avatar Markus Armbruster
Browse files

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: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
parent 565f65d2
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -552,8 +552,7 @@ static void get_real_device(AssignedDevice *pci_dev, Error **errp)
    snprintf(name, sizeof(name), "%sconfig", dir);

    if (pci_dev->configfd_name && *pci_dev->configfd_name) {
        dev->config_fd = monitor_handle_fd_param2(cur_mon,
                                                  pci_dev->configfd_name,
        dev->config_fd = monitor_fd_param(cur_mon, pci_dev->configfd_name,
                                          &local_err);
        if (local_err) {
            error_propagate(errp, local_err);
+1 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ static void vhost_scsi_realize(DeviceState *dev, Error **errp)
    }

    if (vs->conf.vhostfd) {
        vhostfd = monitor_handle_fd_param2(cur_mon, vs->conf.vhostfd, &err);
        vhostfd = monitor_fd_param(cur_mon, vs->conf.vhostfd, &err);
        if (vhostfd == -1) {
            error_setg(errp, "vhost-scsi: unable to parse vhostfd: %s",
                       error_get_pretty(err));
+1 −2
Original line number Diff line number Diff line
@@ -34,8 +34,7 @@ int monitor_read_block_device_key(Monitor *mon, const char *device,
                                  void *opaque);

int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp);
int monitor_handle_fd_param(Monitor *mon, const char *fdname);
int monitor_handle_fd_param2(Monitor *mon, const char *fdname, Error **errp);
int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp);

void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
    GCC_FMT_ATTR(2, 0);
+1 −14
Original line number Diff line number Diff line
@@ -2570,20 +2570,7 @@ void monitor_fdset_dup_fd_remove(int dup_fd)
    monitor_fdset_dup_fd_find_remove(dup_fd, true);
}

int monitor_handle_fd_param(Monitor *mon, const char *fdname)
{
    int fd;
    Error *local_err = NULL;

    fd = monitor_handle_fd_param2(mon, fdname, &local_err);
    if (local_err) {
        qerror_report_err(local_err);
        error_free(local_err);
    }
    return fd;
}

int monitor_handle_fd_param2(Monitor *mon, const char *fdname, Error **errp)
int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp)
{
    int fd;
    Error *local_err = NULL;
+3 −1
Original line number Diff line number Diff line
@@ -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);
Loading