projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update HOWTO for read_iolog change
[fio.git]
/
client.c
diff --git
a/client.c
b/client.c
index 60f7c6ab82767cab31cf30443e07affa15c32b51..e2525c812a94fd91c296e35ccff8c87255b31de5 100644
(file)
--- 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;
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;
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;
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);
}
fclose(fp);
+out:
return ret;
}
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;
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, %
ll
u, ", (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));
}
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->time = le64_to_cpu(s->time);
s->data.val = le64_to_cpu(s->data.val);
s->__ddir = le32_to_cpu(s->__ddir);
- s->bs = le
32
_to_cpu(s->bs);
+ s->bs = le
64
_to_cpu(s->bs);
if (ret->log_offset) {
struct io_sample_offset *so = (void *) s;
if (ret->log_offset) {
struct io_sample_offset *so = (void *) s;