r = __rand(&td->__random_state);
}
- dprint(FD_RANDOM, "off rand %llu\n", r);
+ dprint(FD_RANDOM, "off rand %llu\n", (unsigned long long) r);
*b = (lastb - 1) * (r / ((uint64_t) rmax + 1.0));
} else {
if (random_map_free(f, *b))
goto ret;
- dprint(FD_RANDOM, "get_next_rand_offset: offset %llu busy\n", *b);
+ dprint(FD_RANDOM, "get_next_rand_offset: offset %llu busy\n",
+ (unsigned long long) *b);
*b = axmap_next_free(f->io_axmap, *b);
if (*b == (uint64_t) -1ULL)
}
dprint(FD_IO, "%s: rand offset failed, last=%llu, size=%llu\n",
- f->file_name, f->last_pos, f->real_file_size);
+ f->file_name, (unsigned long long) f->last_pos,
+ (unsigned long long) f->real_file_size);
return 1;
}
else if (b != -1ULL)
io_u->offset = b * td->o.ba[ddir];
else {
- log_err("fio: bug in offset generation: offset=%llu, b=%llu\n",
- offset, b);
+ log_err("fio: bug in offset generation: offset=%llu, b=%llu\n", (unsigned long long) offset, (unsigned long long) b);
ret = 1;
}
}
if (io_u->offset >= f->io_size) {
dprint(FD_IO, "get_next_offset: offset %llu >= io_size %llu\n",
- io_u->offset, f->io_size);
+ (unsigned long long) io_u->offset,
+ (unsigned long long) f->io_size);
return 1;
}
io_u->offset += f->file_offset;
if (io_u->offset >= f->real_file_size) {
dprint(FD_IO, "get_next_offset: offset %llu >= size %llu\n",
- io_u->offset, f->real_file_size);
+ (unsigned long long) io_u->offset,
+ (unsigned long long) f->real_file_size);
return 1;
}
assert(ddir_rw(ddir));
- if (td->rate_pending_usleep[ddir] <= 0 || !td->o.rwmix[odir])
+ if (td->rate_pending_usleep[ddir] <= 0)
return ddir;
/*
* We have too much pending sleep in this direction. See if we
* should switch.
*/
- if (td_rw(td)) {
+ if (td_rw(td) && td->o.rwmix[odir]) {
/*
* Other direction does not have too much pending, switch
*/
* io's that have been actually submitted to an async engine,
* and cur_depth is meaningless for sync engines.
*/
- if (td->io_u_in_flight) {
+ while (td->io_u_in_flight) {
int fio_unused ret;
- ret = io_u_queued_complete(td, td->io_u_in_flight, NULL);
+ ret = io_u_queued_complete(td, 1, NULL);
}
fio_gettime(&t, NULL);
if (io_u->offset + io_u->buflen > io_u->file->real_file_size) {
dprint(FD_IO, "io_u %p, offset too large\n", io_u);
- dprint(FD_IO, " off=%llu/%lu > %llu\n", io_u->offset,
- io_u->buflen, io_u->file->real_file_size);
+ dprint(FD_IO, " off=%llu/%lu > %llu\n",
+ (unsigned long long) io_u->offset, io_u->buflen,
+ (unsigned long long) io_u->file->real_file_size);
return 1;
}