if (get_next_rand_offset(td, f, ddir, &b))
return 1;
} else {
- if (f->last_pos >= f->real_file_size)
- return 1;
-
- b = f->last_pos / td->o.min_bs[ddir];
+ if (f->last_pos >= f->real_file_size) {
+ if (!td_random(td) || get_next_rand_offset(td, f, ddir, &b))
+ return 1;
+ } else
+ b = (f->last_pos - f->file_offset) / td->o.min_bs[ddir];
}
io_u->offset = (b * td->o.min_bs[ddir]) + f->file_offset;