X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=client.c;h=e2525c812a94fd91c296e35ccff8c87255b31de5;hb=78439a18225255f7f1b4f9efab950afcd638b606;hp=60f7c6ab82767cab31cf30443e07affa15c32b51;hpb=b4f5e72f1383499439c45acee627c022f06b6825;p=fio.git diff --git a/client.c b/client.c index 60f7c6ab..e2525c81 100644 --- a/client.c +++ b/client.c @@ -123,11 +123,19 @@ static int read_ini_data(int fd, void *data, size_t size) char *p = data; int ret = 0; FILE *fp; + int dupfd; - fp = fdopen(dup(fd), "r"); - if (!fp) + dupfd = dup(fd); + if (dupfd < 0) return errno; + fp = fdopen(dupfd, "r"); + if (!fp) { + ret = errno; + close(dupfd); + goto out; + } + while (1) { ssize_t len; char buf[OPT_LEN_MAX+1], *sub; @@ -158,6 +166,7 @@ static int read_ini_data(int fd, void *data, size_t size) } fclose(fp); +out: return ret; } @@ -1348,8 +1357,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)); } @@ -1638,7 +1647,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;