X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=log.c;h=a112a31ac8fa065b23544acdd7fc0883606ef27b;hb=f90eff5a414f6e8c16a51c3a7d9b5e077ab49aac;hp=51eaee6ecae085e6bc71184148ba26bf8574c1e1;hpb=fb71fbd73027a2d6202be9b9b1480bb845ea52df;p=fio.git diff --git a/log.c b/log.c index 51eaee6e..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; @@ -170,10 +170,15 @@ static int init_iolog_write(struct thread_data *td) int init_iolog(struct thread_data *td) { - if (td->read_iolog) - return init_iolog_read(td); - else if (td->write_iolog) - return init_iolog_write(td); + int ret = 0; + + if (td->io_ops->flags & FIO_CPUIO) + return 0; + + if (td->read_iolog_file) + ret = init_iolog_read(td); + else if (td->write_iolog_file) + ret = init_iolog_write(td); return 0; } @@ -190,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;