iolog: ensure we always store compressed, if log_store_compressed == 1
[fio.git] / server.c
index 3229bb3992f83e81b3926888abcfc5eb314a56bd..18b3a080c94655003094b39326492a814e027e8e 100644 (file)
--- a/server.c
+++ b/server.c
@@ -956,7 +956,6 @@ int get_my_addr_str( int sk )
        ret = getsockname(sk, sockaddr_p, &len);
        if (ret) {
                log_err("fio: getsockaddr: %s\n", strerror(errno));
-               close(sk);
                return -1;
        }
        if (use_ipv6)
@@ -965,7 +964,6 @@ int get_my_addr_str( int sk )
                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);
@@ -1043,8 +1041,7 @@ static int accept_loop(int listen_sk)
                }
 
                /* 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);
        }
 
@@ -1413,7 +1410,7 @@ void fio_server_send_start(struct thread_data *td)
 }
 
 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;
@@ -1461,7 +1458,7 @@ fail:
         * 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;
 
        /*
@@ -1498,13 +1495,13 @@ static int fio_init_server_ip(void)
 
        opt = 1;
        if (setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, (void *)&opt, sizeof(opt)) < 0) {
-               log_err("fio: setsockopt: %s\n", strerror(errno));
+               log_err("fio: setsockopt(REUSEADDR): %s\n", strerror(errno));
                close(sk);
                return -1;
        }
 #ifdef SO_REUSEPORT
        if (setsockopt(sk, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(opt)) < 0) {
-               log_err("fio: setsockopt: %s\n", strerror(errno));
+               log_err("fio: setsockopt(REUSEPORT): %s\n", strerror(errno));
                close(sk);
                return -1;
        }