#include "filelock.h"
#include "lib/getopt.h"
-#include "lib/strcasestr.h"
+#include "oslib/strcasestr.h"
#include "crc/test.h"
td->rate_next_io_time[ddir] = 0;
td->rate_io_issue_bytes[ddir] = 0;
+ td->last_usec = 0;
return 0;
}
/*
* For fully compressible data, just zero them at init time.
- * It's faster than repeatedly filling it.
+ * It's faster than repeatedly filling it. For non-zero
+ * compression, we should have refill_buffers set. Set it, unless
+ * the job file already changed it.
*/
- if (td->o.compress_percentage == 100) {
- td->o.zero_buffers = 1;
- td->o.compress_percentage = 0;
+ if (o->compress_percentage) {
+ if (o->compress_percentage == 100) {
+ o->zero_buffers = 1;
+ o->compress_percentage = 0;
+ } else if (!fio_option_is_set(o, refill_buffers))
+ o->refill_buffers = 1;
}
/*
init_rand_seed(&td->file_size_state, td->rand_seeds[FIO_RAND_FILE_SIZE_OFF], use64);
init_rand_seed(&td->trim_state, td->rand_seeds[FIO_RAND_TRIM_OFF], use64);
init_rand_seed(&td->delay_state, td->rand_seeds[FIO_RAND_START_DELAY], use64);
+ init_rand_seed(&td->poisson_state, td->rand_seeds[FIO_RAND_POISSON_OFF], 0);
if (!td_random(td))
return;
if ((o->stonewall || o->new_group) && prev_group_jobs) {
prev_group_jobs = 0;
groupid++;
+ if (groupid == INT_MAX) {
+ log_err("fio: too many groups defined\n");
+ goto err;
+ }
}
td->groupid = groupid;
char *opt;
int i;
+ if (!string)
+ return 0;
+
if (!strcmp(string, "?") || !strcmp(string, "help")) {
log_info("fio: dumping debug options:");
for (i = 0; debug_levels[i].name; i++) {