char *io_p, *bw_p, *iops_p;
int i2p;
+ assert(ddir_rw(ddir));
+
if (!ts->runtime[ddir])
return;
unsigned long long bw;
double mean, dev;
+ assert(ddir_rw(ddir));
+
bw = 0;
if (ts->runtime[ddir])
bw = ts->io_bytes[ddir] / ts->runtime[ddir];
unsigned long val, enum fio_ddir ddir,
unsigned int bs)
{
+ if (!ddir_rw(ddir))
+ return;
+
__add_log_sample(iolog, val, ddir, bs, mtime_since_now(&td->epoch));
}
void add_agg_sample(unsigned long val, enum fio_ddir ddir, unsigned int bs)
{
- struct io_log *iolog = agg_io_log[ddir];
+ struct io_log *iolog;
+ if (!ddir_rw(ddir))
+ return;
+
+ iolog = agg_io_log[ddir];
__add_log_sample(iolog, val, ddir, bs, mtime_since_genesis());
}
{
struct thread_stat *ts = &td->ts;
+ if (!ddir_rw(ddir))
+ return;
+
add_stat_sample(&ts->clat_stat[ddir], usec);
if (ts->clat_log)
{
struct thread_stat *ts = &td->ts;
+ if (!ddir_rw(ddir))
+ return;
+
add_stat_sample(&ts->slat_stat[ddir], usec);
if (ts->slat_log)
{
struct thread_stat *ts = &td->ts;
+ if (!ddir_rw(ddir))
+ return;
+
add_stat_sample(&ts->lat_stat[ddir], usec);
if (ts->lat_log)
struct timeval *t)
{
struct thread_stat *ts = &td->ts;
- unsigned long spent = mtime_since(&ts->stat_sample_time[ddir], t);
- unsigned long rate;
+ unsigned long spent, rate;
+
+ if (!ddir_rw(ddir))
+ return;
+ spent = mtime_since(&ts->stat_sample_time[ddir], t);
if (spent < td->o.bw_avg_time)
return;