ret = getsockname(sk, sockaddr_p, &len);
if (ret) {
log_err("fio: getsockaddr: %s\n", strerror(errno));
- close(sk);
return -1;
}
if (use_ipv6)
net_addr = (char * )&myaddr4.sin_addr;
if (NULL == inet_ntop(use_ipv6?AF_INET6:AF_INET, net_addr, client_sockaddr_str, INET6_ADDRSTRLEN-1)) {
log_err("inet_ntop: failed to convert addr to string\n");
- close(sk);
return -1;
}
dprint(FD_NET, "fio server bound to addr %s\n", client_sockaddr_str);
}
/* exits */
- if (get_my_addr_str(sk))
- return -1; /* error already logged and socket closed */
+ get_my_addr_str(sk); /* if error, it's already logged, non-fatal */
handle_connection(sk);
}
}
int fio_server_get_verify_state(const char *name, int threadnumber,
- void **datap)
+ void **datap, int *version)
{
struct thread_io_list *s;
struct cmd_sendfile out;
* the header, and the thread_io_list checksum
*/
s = rep->data + sizeof(struct verify_state_hdr);
- if (verify_state_hdr(rep->data, s))
+ if (verify_state_hdr(rep->data, s, version))
goto fail;
/*