From: Jens Axboe Date: Tue, 25 Mar 2014 17:50:55 +0000 (-0700) Subject: server: dump where we attempted to bind in case of failure X-Git-Tag: fio-2.1.7~1^2~1 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=17e3531ad6dcd6d0d8f1191f7fe484a345f26f52;hp=b96b90c383b25f4d0a002f672c3ff3dc02fdbf7b 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 --- 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; }