static struct json_object *root = NULL;
static struct json_array *clients_array = NULL;
static struct json_array *du_array = NULL;
-static int do_output_all_clients;
#define FIO_CLIENT_HASH_BITS 7
#define FIO_CLIENT_HASH_SZ (1 << FIO_CLIENT_HASH_BITS)
free(client->files);
if (!client->did_stat)
- sum_stat_clients -= client->nr_stat;
+ sum_stat_clients--;
free(client);
}
size_t new_size;
void *new_files;
+ if (!client)
+ return 1;
+
dprint(FD_NET, "client <%s>: add ini %s\n", client->hostname, ini_file);
new_size = (client->nr_files + 1) * sizeof(struct client_file);
dprint(FD_NET, "send remote ini %s to %s\n", filename, client->hostname);
- p_size = sizeof(*pdu) + strlen(filename);
+ p_size = sizeof(*pdu) + strlen(filename) + 1;
pdu = malloc(p_size);
+ memset(pdu, 0, p_size);
pdu->name_len = strlen(filename);
strcpy((char *) pdu->file, filename);
pdu->client_type = cpu_to_le16((uint16_t) client->type);
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
dst->total_io_u[i] = le64_to_cpu(src->total_io_u[i]);
dst->short_io_u[i] = le64_to_cpu(src->short_io_u[i]);
+ dst->drop_io_u[i] = le64_to_cpu(src->drop_io_u[i]);
}
dst->total_submit = le64_to_cpu(src->total_submit);
json_array_add_value_object(clients_array, tsobj);
}
- if (!do_output_all_clients)
+ if (sum_stat_clients <= 1)
return;
sum_thread_stats(&client_ts, &p->ts, sum_stat_nr);
agg->io_ticks = le32_to_cpu(agg->io_ticks);
agg->time_in_queue = le32_to_cpu(agg->time_in_queue);
agg->slavecount = le32_to_cpu(agg->slavecount);
- agg->max_util.u.f = fio_uint64_to_double(__le64_to_cpu(agg->max_util.u.i));
+ agg->max_util.u.f = fio_uint64_to_double(le64_to_cpu(agg->max_util.u.i));
}
static void convert_dus(struct disk_util_stat *dus)
client->jobs = le32_to_cpu(pdu->jobs);
client->nr_stat = le32_to_cpu(pdu->stat_outputs);
- if (sum_stat_clients > 1)
- do_output_all_clients = 1;
-
sum_stat_clients += client->nr_stat;
}