X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=log.c;h=a112a31ac8fa065b23544acdd7fc0883606ef27b;hp=91ac0830582625af31a8c78c730ee78ffc53ccd8;hb=a94ea28b13429c38036546c36bcfd7355dc1441d;hpb=b4a6a59a939f0e6554632de311e7d1d1b7633ccf;ds=inline diff --git a/log.c b/log.c index 91ac0830..a112a31a 100644 --- a/log.c +++ b/log.c @@ -93,7 +93,7 @@ static int init_iolog_read(struct thread_data *td) FILE *f; int rw, reads, writes; - f = fopen(td->iolog_file, "r"); + f = fopen(td->read_iolog_file, "r"); if (!f) { perror("fopen read iolog"); return 1; @@ -125,9 +125,9 @@ static int init_iolog_read(struct thread_data *td) INIT_LIST_HEAD(&ipo->list); ipo->offset = offset; ipo->len = bytes; - if (bytes > td->max_bs) - td->max_bs = bytes; ipo->ddir = rw; + if (bytes > td->max_bs[rw]) + td->max_bs[rw] = bytes; list_add_tail(&ipo->list, &td->io_log_list); } @@ -151,9 +151,9 @@ static int init_iolog_read(struct thread_data *td) */ static int init_iolog_write(struct thread_data *td) { - FILE *f = fopen(td->iolog_file, "w"); + FILE *f; - f = fopen(td->iolog_file, "w"); + f = fopen(td->write_iolog_file, "w+"); if (!f) { perror("fopen write iolog"); return 1; @@ -172,13 +172,14 @@ int init_iolog(struct thread_data *td) { int ret = 0; - if (td->read_iolog) + if (td->io_ops->flags & FIO_CPUIO) + return 0; + + if (td->read_iolog_file) ret = init_iolog_read(td); - else if (td->write_iolog) + else if (td->write_iolog_file) ret = init_iolog_write(td); - free(td->iolog_file); - td->iolog_file = NULL; return 0; } @@ -194,7 +195,7 @@ int setup_rate(struct thread_data *td) return -1; } - nr_reads_per_sec = (td->rate * 1024) / td->min_bs; + nr_reads_per_sec = (td->rate * 1024) / td->min_bs[DDIR_READ]; td->rate_usec_cycle = 1000000 / nr_reads_per_sec; td->rate_pending_usleep = 0; return 0;