X-Git-Url: https://repo.jachan.dev/qemu.git/blobdiff_plain/411f491e0af173cf8f39347574941bd26fbae381..6ea7b35c0294b1cc462e3225c4672de31300ed79:/qemu-nbd.c diff --git a/qemu-nbd.c b/qemu-nbd.c index eed79fa15e..626e5844f9 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -223,7 +223,7 @@ static int tcp_socket_incoming(const char *address, uint16_t port) int fd = inet_listen(address_and_port, NULL, 0, SOCK_STREAM, 0, &local_err); if (local_err != NULL) { - qerror_report_err(local_err); + error_report("%s", error_get_pretty(local_err)); error_free(local_err); } return fd; @@ -235,7 +235,7 @@ static int unix_socket_incoming(const char *path) int fd = unix_listen(path, NULL, 0, &local_err); if (local_err != NULL) { - qerror_report_err(local_err); + error_report("%s", error_get_pretty(local_err)); error_free(local_err); } return fd; @@ -247,7 +247,7 @@ static int unix_socket_outgoing(const char *path) int fd = unix_connect(path, &local_err); if (local_err != NULL) { - qerror_report_err(local_err); + error_report("%s", error_get_pretty(local_err)); error_free(local_err); } return fd; @@ -294,7 +294,7 @@ static void *nbd_client_thread(void *arg) fd = open(device, O_RDWR); if (fd < 0) { /* Linux-only, we can use %m in printf. */ - fprintf(stderr, "Failed to open %s: %m", device); + fprintf(stderr, "Failed to open %s: %m\n", device); goto out_socket; } @@ -369,8 +369,11 @@ static void nbd_accept(void *opaque) return; } - if (fd >= 0 && nbd_client_new(exp, fd, nbd_client_closed)) { + if (nbd_client_new(exp, fd, nbd_client_closed)) { nb_fds++; + } else { + shutdown(fd, 2); + close(fd); } }