client/server: fixup "All clients" reporting
[fio.git] / server.c
index 1487d80a46945c329b595c5f36d3b2221e8b7179..33b80d68620d103eb52feb93aafca7b765d9ef98 100644 (file)
--- a/server.c
+++ b/server.c
@@ -336,12 +336,15 @@ static int handle_job_cmd(struct fio_net_cmd *cmd)
        struct cmd_end_pdu epdu;
        int ret;
 
+       stat_number = 0;
+
        if (parse_jobs_ini(buf, 1, 0)) {
                fio_server_send_quit_cmd();
                return -1;
        }
 
        spdu.jobs = cpu_to_le32(thread_number);
+       spdu.stat_outputs = cpu_to_le32(stat_number);
        fio_net_send_cmd(server_fd, FIO_NET_CMD_START, &spdu, sizeof(spdu), 0);
 
        ret = fio_backend();
@@ -405,7 +408,7 @@ static int handle_probe_cmd(struct fio_net_cmd *cmd)
 #ifdef FIO_BIG_ENDIAN
        probe.bigendian = 1;
 #endif
-       strcpy((char *) probe.fio_version, fio_version_string);
+       strncpy((char *) probe.fio_version, fio_version_string, sizeof(probe.fio_version));
 
        probe.os        = FIO_OS;
        probe.arch      = FIO_ARCH;
@@ -451,6 +454,7 @@ static int handle_send_eta_cmd(struct fio_net_cmd *cmd)
 
        je->elapsed_sec         = cpu_to_le64(je->elapsed_sec);
        je->eta_sec             = cpu_to_le64(je->eta_sec);
+       je->is_pow2             = cpu_to_le32(je->is_pow2);
 
        fio_net_send_cmd(server_fd, FIO_NET_CMD_ETA, je, size, cmd->tag);
        free(je);