void write_iolog_put(struct thread_data *td, struct io_u *io_u)
{
- fprintf(td->iolog_f, "%d,%llu,%u\n", io_u->ddir, io_u->offset, io_u->buflen);
+ fprintf(td->iolog_f, "%u,%llu,%u\n", io_u->ddir, io_u->offset, io_u->buflen);
}
int read_iolog_get(struct thread_data *td, struct io_u *io_u)
INIT_LIST_HEAD(&ipo->list);
ipo->offset = offset;
ipo->len = bytes;
- if (bytes > td->max_bs)
- td->max_bs = bytes;
- ipo->ddir = rw;
+ ipo->ddir = (enum fio_ddir) rw;
+ if (bytes > td->max_bs[rw])
+ td->max_bs[rw] = bytes;
list_add_tail(&ipo->list, &td->io_log_list);
}
else if (td->write_iolog_file)
ret = init_iolog_write(td);
- return 0;
+ return ret;
}
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;