X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=server.c;h=8a6275deb6a817ed6519090089f47967f425cc19;hp=d120c523d779bed1e228e99af7f461ce5ac1b1c1;hb=da52c582b76a8752ad3dd113696c9debcb3449e8;hpb=3d7174e3c4b8aa4daa36261a8e638b702fac5aba diff --git a/server.c b/server.c index d120c523..8a6275de 100644 --- a/server.c +++ b/server.c @@ -293,8 +293,9 @@ struct fio_net_cmd *fio_net_recv_cmd(int sk) static void add_reply(uint64_t tag, struct flist_head *list) { - struct fio_net_cmd_reply *reply = (struct fio_net_cmd_reply *) tag; + struct fio_net_cmd_reply *reply; + reply = (struct fio_net_cmd_reply *) (uintptr_t) tag; flist_add_tail(&reply->list, list); } @@ -313,8 +314,9 @@ static uint64_t alloc_reply(uint64_t tag, uint16_t opcode) static void free_reply(uint64_t tag) { - struct fio_net_cmd_reply *reply = (struct fio_net_cmd_reply *) tag; + struct fio_net_cmd_reply *reply; + reply = (struct fio_net_cmd_reply *) (uintptr_t) tag; free(reply); } @@ -567,6 +569,7 @@ static int handle_job_cmd(struct fio_net_cmd *cmd) } 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), NULL, NULL); return 0; } @@ -606,6 +609,7 @@ static int handle_jobline_cmd(struct fio_net_cmd *cmd) free(argv); 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), NULL, NULL); return 0; } @@ -619,7 +623,7 @@ static int handle_probe_cmd(struct fio_net_cmd *cmd) memset(&probe, 0, sizeof(probe)); gethostname((char *) probe.hostname, sizeof(probe.hostname)); -#ifdef FIO_BIG_ENDIAN +#ifdef CONFIG_BIG_ENDIAN probe.bigendian = 1; #endif strncpy((char *) probe.fio_version, fio_version_string, sizeof(probe.fio_version)); @@ -672,6 +676,7 @@ static int handle_send_eta_cmd(struct fio_net_cmd *cmd) je->eta_sec = cpu_to_le64(je->eta_sec); je->nr_threads = cpu_to_le32(je->nr_threads); je->is_pow2 = cpu_to_le32(je->is_pow2); + je->unit_base = cpu_to_le32(je->unit_base); fio_net_send_cmd(server_fd, FIO_NET_CMD_ETA, je, size, &tag, NULL); free(je); @@ -712,8 +717,9 @@ static int handle_command(struct fio_net_cmd *cmd) { int ret; - dprint(FD_NET, "server: got op [%s], pdu=%u, tag=%lx\n", - fio_server_op(cmd->opcode), cmd->pdu_len, cmd->tag); + dprint(FD_NET, "server: got op [%s], pdu=%u, tag=%llx\n", + fio_server_op(cmd->opcode), cmd->pdu_len, + (unsigned long long) cmd->tag); switch (cmd->opcode) { case FIO_NET_CMD_QUIT: @@ -819,7 +825,7 @@ static int handle_connection(int sk) static int accept_loop(int listen_sk) { struct sockaddr_in addr; - fio_socklen_t len = sizeof(addr); + socklen_t len = sizeof(addr); struct pollfd pfd; int ret = 0, sk, flags, exitval = 0; @@ -935,7 +941,9 @@ static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src) } dst->kb_base = cpu_to_le32(src->kb_base); + dst->unit_base = cpu_to_le32(src->unit_base); dst->groupid = cpu_to_le32(src->groupid); + dst->unified_rw_rep = cpu_to_le32(src->unified_rw_rep); } /* @@ -960,6 +968,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) p.ts.groupid = cpu_to_le32(ts->groupid); p.ts.pid = cpu_to_le32(ts->pid); p.ts.members = cpu_to_le32(ts->members); + p.ts.unified_rw_rep = cpu_to_le32(ts->unified_rw_rep); for (i = 0; i < DDIR_RWDIR_CNT; i++) { convert_io_stat(&p.ts.clat_stat[i], &ts->clat_stat[i]); @@ -997,7 +1006,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) for (j = 0; j < FIO_IO_U_PLAT_NR; j++) p.ts.io_u_plat[i][j] = cpu_to_le32(ts->io_u_plat[i][j]); - for (i = 0; i < 3; i++) { + for (i = 0; i < DDIR_RWDIR_CNT; i++) { p.ts.total_io_u[i] = cpu_to_le64(ts->total_io_u[i]); p.ts.short_io_u[i] = cpu_to_le64(ts->short_io_u[i]); } @@ -1015,6 +1024,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) p.ts.total_err_count = cpu_to_le64(ts->total_err_count); p.ts.first_error = cpu_to_le32(ts->first_error); p.ts.kb_base = cpu_to_le32(ts->kb_base); + p.ts.unit_base = cpu_to_le32(ts->unit_base); convert_gs(&p.rs, rs); @@ -1206,7 +1216,7 @@ void fio_server_send_start(struct thread_data *td) static int fio_init_server_ip(void) { struct sockaddr *addr; - fio_socklen_t socklen; + socklen_t socklen; int sk, opt; if (use_ipv6) @@ -1220,7 +1230,7 @@ static int fio_init_server_ip(void) } opt = 1; - if (setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0) { + if (setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, (void *)&opt, sizeof(opt)) < 0) { log_err("fio: setsockopt: %s\n", strerror(errno)); close(sk); return -1; @@ -1255,7 +1265,7 @@ static int fio_init_server_ip(void) static int fio_init_server_sock(void) { struct sockaddr_un addr; - fio_socklen_t len; + socklen_t len; mode_t mode; int sk;