Fix the typehelp[] array
[fio.git] / client.c
index 611ee2f5a3f929d9d7ae7c7d14c229196bdfedbb..bc0275b639be6f7d0a1ecb46e4229e1abe99119b 100644 (file)
--- a/client.c
+++ b/client.c
@@ -130,8 +130,11 @@ static int read_ini_data(int fd, void *data, size_t size)
                return errno;
 
        fp = fdopen(dupfd, "r");
-       if (!fp)
-               return errno;
+       if (!fp) {
+               ret = errno;
+               close(dupfd);
+               goto out;
+       }
 
        while (1) {
                ssize_t len;
@@ -163,6 +166,7 @@ static int read_ini_data(int fd, void *data, size_t size)
        }
 
        fclose(fp);
+out:
        return ret;
 }
 
@@ -1054,6 +1058,9 @@ static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd)
        struct flist_head *opt_list = NULL;
        struct json_object *tsobj;
 
+       if (output_format & FIO_OUTPUT_TERSE)
+               return;
+
        if (client->opt_lists && p->ts.thread_number <= client->jobs)
                opt_list = &client->opt_lists[p->ts.thread_number - 1];
 
@@ -1090,6 +1097,9 @@ static void handle_gs(struct fio_client *client, struct fio_net_cmd *cmd)
 {
        struct group_run_stats *gs = (struct group_run_stats *) cmd->payload;
 
+       if (output_format & FIO_OUTPUT_TERSE)
+               return;
+
        if (output_format & FIO_OUTPUT_NORMAL)
                show_group_stats(gs, NULL);
 }
@@ -1136,7 +1146,7 @@ static void handle_text(struct fio_client *client, struct fio_net_cmd *cmd)
 
        name = client->name ? client->name : client->hostname;
 
-       if (!client->skip_newline)
+       if (!client->skip_newline && !(output_format & FIO_OUTPUT_TERSE))
                fprintf(f_out, "<%s> ", name);
        ret = fwrite(buf, pdu->buf_len, 1, f_out);
        fflush(f_out);
@@ -1180,6 +1190,9 @@ static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd)
 {
        struct cmd_du_pdu *du = (struct cmd_du_pdu *) cmd->payload;
 
+       if (output_format & FIO_OUTPUT_TERSE)
+               return;
+
        if (!client->disk_stats_shown) {
                client->disk_stats_shown = true;
                log_info("\nDisk stats (read/write):\n");
@@ -1191,8 +1204,6 @@ static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd)
                duobj = json_array_last_value_object(du_array);
                json_object_add_client_info(duobj, client);
        }
-       if (output_format & FIO_OUTPUT_TERSE)
-               print_disk_util(&du->dus, &du->agg, 1, NULL);
        if (output_format & FIO_OUTPUT_NORMAL)
                print_disk_util(&du->dus, &du->agg, 0, NULL);
 }
@@ -1353,8 +1364,8 @@ static void client_flush_hist_samples(FILE *f, int hist_coarseness, void *sample
                entry = s->data.plat_entry;
                io_u_plat = entry->io_u_plat;
 
-               fprintf(f, "%lu, %u, %u, ", (unsigned long) s->time,
-                                               io_sample_ddir(s), s->bs);
+               fprintf(f, "%lu, %u, %llu, ", (unsigned long) s->time,
+                                               io_sample_ddir(s), (unsigned long long) s->bs);
                for (j = 0; j < FIO_IO_U_PLAT_NR - stride; j += stride) {
                        fprintf(f, "%llu, ", (unsigned long long)hist_sum(j, stride, io_u_plat, NULL));
                }
@@ -1452,6 +1463,9 @@ static void handle_probe(struct fio_client *client, struct fio_net_cmd *cmd)
        const char *os, *arch;
        char bit[16];
 
+       if (output_format & FIO_OUTPUT_TERSE)
+               return;
+
        os = fio_get_os_string(probe->os);
        if (!os)
                os = "unknown";
@@ -1643,7 +1657,7 @@ static struct cmd_iolog_pdu *convert_iolog(struct fio_net_cmd *cmd,
                s->time         = le64_to_cpu(s->time);
                s->data.val     = le64_to_cpu(s->data.val);
                s->__ddir       = le32_to_cpu(s->__ddir);
-               s->bs           = le32_to_cpu(s->bs);
+               s->bs           = le64_to_cpu(s->bs);
 
                if (ret->log_offset) {
                        struct io_sample_offset *so = (void *) s;