je->elapsed_sec = le64_to_cpu(je->elapsed_sec);
je->eta_sec = le64_to_cpu(je->eta_sec);
+ je->nr_threads = le32_to_cpu(je->nr_threads);
+ je->is_pow2 = le32_to_cpu(je->is_pow2);
}
-static void sum_jobs_eta(struct jobs_eta *dst, struct jobs_eta *je)
+void fio_client_sum_jobs_eta(struct jobs_eta *dst, struct jobs_eta *je)
{
int i;
}
p += sprintf(p, "Jobs: %d (f=%d)", je->nr_running, je->files_open);
- if (je->m_rate || je->t_rate) {
+ if (je->m_rate[0] || je->m_rate[1] || je->t_rate[0] || je->t_rate[1]) {
char *tr, *mr;
- mr = num2str(je->m_rate[0] + je->m_rate[1], 4, 0, i2p);
- tr = num2str(je->t_rate[0] + je->t_rate[1], 4, 0, i2p);
- mr = num2str(je->m_rate, 4, 0, je->is_pow2);
- tr = num2str(je->t_rate, 4, 0, je->is_pow2);
++ mr = num2str(je->m_rate[0] + je->m_rate[1], 4, 0, je->is_pow2);
++ tr = num2str(je->t_rate[0] + je->t_rate[1], 4, 0, je->is_pow2);
p += sprintf(p, ", CR=%s/%s KB/s", tr, mr);
free(tr);
free(mr);
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, cmd->tag);
+ fio_net_send_cmd(server_fd, FIO_NET_CMD_ETA, je, size, &tag, NULL);
free(je);
return 0;
}
};
enum {
- FIO_SERVER_VER = 16,
- FIO_SERVER_VER = 8,
-
- FIO_SERVER_MAX_PDU = 1024,
-
- FIO_NET_CMD_QUIT = 1,
- FIO_NET_CMD_EXIT = 2,
- FIO_NET_CMD_JOB = 3,
- FIO_NET_CMD_JOBLINE = 4,
- FIO_NET_CMD_TEXT = 5,
- FIO_NET_CMD_TS = 6,
- FIO_NET_CMD_GS = 7,
- FIO_NET_CMD_SEND_ETA = 8,
- FIO_NET_CMD_ETA = 9,
- FIO_NET_CMD_PROBE = 10,
- FIO_NET_CMD_START = 11,
- FIO_NET_CMD_STOP = 12,
- FIO_NET_CMD_DU = 13,
- FIO_NET_CMD_RUN = 14,
- FIO_NET_CMD_NR = 15,
-
- FIO_NET_CMD_F_MORE = 1UL << 0,
++ FIO_SERVER_VER = 17,
+
+ FIO_SERVER_MAX_FRAGMENT_PDU = 1024,
+
+ FIO_NET_CMD_QUIT = 1,
+ FIO_NET_CMD_EXIT = 2,
+ FIO_NET_CMD_JOB = 3,
+ FIO_NET_CMD_JOBLINE = 4,
+ FIO_NET_CMD_TEXT = 5,
+ FIO_NET_CMD_TS = 6,
+ FIO_NET_CMD_GS = 7,
+ FIO_NET_CMD_SEND_ETA = 8,
+ FIO_NET_CMD_ETA = 9,
+ FIO_NET_CMD_PROBE = 10,
+ FIO_NET_CMD_START = 11,
+ FIO_NET_CMD_STOP = 12,
+ FIO_NET_CMD_DU = 13,
+ FIO_NET_CMD_SERVER_START = 14,
+ FIO_NET_CMD_ADD_JOB = 15,
+ FIO_NET_CMD_RUN = 16,
+ FIO_NET_CMD_IOLOG = 17,
+ FIO_NET_CMD_UPDATE_JOB = 18,
+ FIO_NET_CMD_NR = 19,
+
+ FIO_NET_CMD_F_MORE = 1UL << 0,
/* crc does not include the crc fields */
- FIO_NET_CMD_CRC_SZ = sizeof(struct fio_net_cmd) -
- 2 * sizeof(uint16_t),
+ FIO_NET_CMD_CRC_SZ = sizeof(struct fio_net_cmd) -
+ 2 * sizeof(uint16_t),
+
+ FIO_NET_NAME_MAX = 256,
- FIO_NET_CLIENT_TIMEOUT = 5000,
+ FIO_NET_CLIENT_TIMEOUT = 5000,
};
struct cmd_ts_pdu {