Add thread number ID to appropriate network commands
The client doesn't necessarily have a 1:1 mapping between jobs
and its internal job representation, so allow it to tell the
various jobs apart.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/server.c b/server.c
index 9110707..899b230 100644
--- a/server.c
+++ b/server.c
@@ -752,10 +752,11 @@
strcpy(p.ts.verror, ts->verror);
strcpy(p.ts.description, ts->description);
- p.ts.error = cpu_to_le32(ts->error);
- 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.error = cpu_to_le32(ts->error);
+ p.ts.thread_number = cpu_to_le32(ts->thread_number);
+ p.ts.groupid = cpu_to_le32(ts->groupid);
+ p.ts.pid = cpu_to_le32(ts->pid);
+ p.ts.members = cpu_to_le32(ts->members);
for (i = 0; i < 2; i++) {
convert_io_stat(&p.ts.clat_stat[i], &ts->clat_stat[i]);
@@ -910,6 +911,7 @@
void *out_pdu;
int i, ret = 0;
+ pdu.thread_number = cpu_to_le32(td->thread_number);
pdu.nr_samples = __cpu_to_le32(log->nr_samples);
pdu.log_type = cpu_to_le32(log->log_type);
strcpy((char *) pdu.name, name);
@@ -979,12 +981,14 @@
return ret;
}
-void fio_server_send_add_job(struct thread_options *o, const char *ioengine)
+void fio_server_send_add_job(struct thread_data *td)
{
struct cmd_add_job_pdu pdu;
memset(&pdu, 0, sizeof(pdu));
- convert_thread_options_to_net(&pdu.top, o);
+ pdu.thread_number = cpu_to_le32(td->thread_number);
+ pdu.groupid = cpu_to_le32(td->groupid);
+ convert_thread_options_to_net(&pdu.top, &td->o);
fio_net_send_cmd(server_fd, FIO_NET_CMD_ADD_JOB, &pdu, sizeof(pdu), 0);
}