/*
* If randseed is set, that overrides randrepeat
*/
- if (td->o.rand_seed)
+ if (fio_option_is_set(&td->o, rand_seed))
td->o.rand_repeatable = 0;
if ((td->io_ops->flags & FIO_NOEXTEND) && td->o.file_append) {
unsigned long seed;
unsigned int i;
- if (!td->o.rand_repeatable && !td->o.rand_seed)
+ if (!td->o.rand_repeatable && !fio_option_is_set(&td->o, rand_seed))
return init_random_state(td, td->rand_seeds, sizeof(td->rand_seeds));
- if (!td->o.rand_seed)
- seed = 0x89;
- else
- seed = td->o.rand_seed;
-
+ seed = td->o.rand_seed;
for (i = 0; i < 4; i++)
seed *= 0x9e370001UL;
return dump_cmdline || parse_only;
}
+static void gen_log_name(char *name, size_t size, const char *logtype,
+ const char *logname, unsigned int num,
+ const char *suf, int per_job)
+{
+ if (per_job)
+ snprintf(name, size, "%s_%s.%d.%s", logname, logtype, num, suf);
+ else
+ snprintf(name, size, "%s_%s.%s", logname, logtype, suf);
+}
+
/*
* Adds a job to the list of things todo. Sanitizes the various options
* to make sure we don't have conflicts, and initializes various
else
suf = "log";
- snprintf(logname, sizeof(logname), "%s_lat.%d.%s",
- o->lat_log_file, td->thread_number, suf);
+ gen_log_name(logname, sizeof(logname), "lat", o->lat_log_file,
+ td->thread_number, suf, o->per_job_logs);
setup_log(&td->lat_log, &p, logname);
- snprintf(logname, sizeof(logname), "%s_slat.%d.%s",
- o->lat_log_file, td->thread_number, suf);
+
+ gen_log_name(logname, sizeof(logname), "slat", o->lat_log_file,
+ td->thread_number, suf, o->per_job_logs);
setup_log(&td->slat_log, &p, logname);
- snprintf(logname, sizeof(logname), "%s_clat.%d.%s",
- o->lat_log_file, td->thread_number, suf);
+
+ gen_log_name(logname, sizeof(logname), "clat", o->lat_log_file,
+ td->thread_number, suf, o->per_job_logs);
setup_log(&td->clat_log, &p, logname);
}
if (o->bw_log_file) {
else
suf = "log";
- snprintf(logname, sizeof(logname), "%s_bw.%d.%s",
- o->bw_log_file, td->thread_number, suf);
+ gen_log_name(logname, sizeof(logname), "bw", o->bw_log_file,
+ td->thread_number, suf, o->per_job_logs);
setup_log(&td->bw_log, &p, logname);
}
if (o->iops_log_file) {
else
suf = "log";
- snprintf(logname, sizeof(logname), "%s_iops.%d.%s",
- o->iops_log_file, td->thread_number, suf);
+ gen_log_name(logname, sizeof(logname), "iops", o->iops_log_file,
+ td->thread_number, suf, o->per_job_logs);
setup_log(&td->iops_log, &p, logname);
}
/* if --client parameter contains a pathname */
if (0 == access(optarg, R_OK)) {
/* file contains a list of host addrs or names */
- char hostaddr[_POSIX_HOST_NAME_MAX] = {0};
+ char hostaddr[PATH_MAX] = {0};
char formatstr[8];
FILE * hostf = fopen(optarg, "r");
if (!hostf) {
exit_val = 1;
break;
}
- sprintf(formatstr, "%%%ds", _POSIX_HOST_NAME_MAX-1);
- /* read at most _POSIX_HOST_NAME_MAX-1 chars from each record in this file */
+ sprintf(formatstr, "%%%ds", PATH_MAX - 1);
+ /*
+ * read at most PATH_MAX-1 chars from each
+ * record in this file
+ */
while (fscanf(hostf, formatstr, hostaddr) == 1) {
/* expect EVERY host in file to be valid */
if (fio_client_add(&fio_client_ops, hostaddr, &cur_client)) {