From 17e3531ad6dcd6d0d8f1191f7fe484a345f26f52 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 25 Mar 2014 10:50:55 -0700 Subject: [PATCH] server: dump where we attempted to bind in case of failure Helps locate what the issue is, instead of having to use strace and similar tools. Signed-off-by: Jens Axboe --- server.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server.c b/server.c index 32d69140..0954d4c3 100644 --- a/server.c +++ b/server.c @@ -1267,6 +1267,8 @@ static int fio_init_server_ip(void) { struct sockaddr *addr; socklen_t socklen; + char buf[80]; + const char *str; int sk, opt; if (use_ipv6) @@ -1294,17 +1296,24 @@ static int fio_init_server_ip(void) #endif if (use_ipv6) { + const void *src = &saddr_in6.sin6_addr; + addr = (struct sockaddr *) &saddr_in6; socklen = sizeof(saddr_in6); saddr_in6.sin6_family = AF_INET6; + str = inet_ntop(AF_INET6, src, buf, sizeof(buf)); } else { + const void *src = &saddr_in.sin_addr; + addr = (struct sockaddr *) &saddr_in; socklen = sizeof(saddr_in); saddr_in.sin_family = AF_INET; + str = inet_ntop(AF_INET, src, buf, sizeof(buf)); } if (bind(sk, addr, socklen) < 0) { log_err("fio: bind: %s\n", strerror(errno)); + log_info("fio: failed with IPv%c %s\n", use_ipv6 ? '6' : '4', str); close(sk); return -1; } -- 2.25.1