X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=server.c;h=f6e4c6814a8a481e16c1f89f761190efc76cb69c;hp=f1c69dd37a92b59b164bad40acce9d6cb8a42a9c;hb=16725bb04ffc0d58af3f1fe91cd58b31961a74f7;hpb=8029542b67e81c8ea83a0d71929426ec8439f9af diff --git a/server.c b/server.c index f1c69dd3..f6e4c681 100644 --- a/server.c +++ b/server.c @@ -567,6 +567,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 +607,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,10 +621,10 @@ 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 - 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; @@ -659,7 +661,7 @@ static int handle_send_eta_cmd(struct fio_net_cmd *cmd) je->nr_pending = cpu_to_le32(je->nr_pending); je->files_open = cpu_to_le32(je->files_open); - for (i = 0; i < 2; i++) { + for (i = 0; i < DDIR_RWDIR_CNT; i++) { je->m_rate[i] = cpu_to_le32(je->m_rate[i]); je->t_rate[i] = cpu_to_le32(je->t_rate[i]); je->m_iops[i] = cpu_to_le32(je->m_iops[i]); @@ -671,6 +673,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->nr_threads = cpu_to_le32(je->nr_threads); + je->is_pow2 = cpu_to_le32(je->is_pow2); fio_net_send_cmd(server_fd, FIO_NET_CMD_ETA, je, size, &tag, NULL); free(je); @@ -711,8 +714,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: @@ -818,7 +822,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; @@ -924,7 +928,7 @@ static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src) { int i; - for (i = 0; i < 2; i++) { + for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->max_run[i] = cpu_to_le64(src->max_run[i]); dst->min_run[i] = cpu_to_le64(src->min_run[i]); dst->max_bw[i] = cpu_to_le64(src->max_bw[i]); @@ -934,7 +938,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); } /* @@ -959,8 +965,9 @@ 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 < 2; i++) { + for (i = 0; i < DDIR_RWDIR_CNT; i++) { convert_io_stat(&p.ts.clat_stat[i], &ts->clat_stat[i]); convert_io_stat(&p.ts.slat_stat[i], &ts->slat_stat[i]); convert_io_stat(&p.ts.lat_stat[i], &ts->lat_stat[i]); @@ -992,11 +999,11 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) p.ts.io_u_lat_m[i] = cpu_to_le32(ts->io_u_lat_m[i]); } - for (i = 0; i < 2; i++) + for (i = 0; i < DDIR_RWDIR_CNT; i++) 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]); } @@ -1004,7 +1011,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) p.ts.total_submit = cpu_to_le64(ts->total_submit); p.ts.total_complete = cpu_to_le64(ts->total_complete); - for (i = 0; i < 2; i++) { + for (i = 0; i < DDIR_RWDIR_CNT; i++) { p.ts.io_bytes[i] = cpu_to_le64(ts->io_bytes[i]); p.ts.runtime[i] = cpu_to_le64(ts->runtime[i]); } @@ -1014,6 +1021,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); @@ -1205,7 +1213,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) @@ -1219,7 +1227,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; @@ -1254,7 +1262,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;