return 1;
}
+static void init_rand_file_service(struct thread_data *td)
+{
+ unsigned long nranges = td->o.nr_files << FIO_FSERVICE_SHIFT;
+ const unsigned int seed = td->rand_seeds[FIO_RAND_FILE_OFF];
+
+ if (td->o.file_service_type == FIO_FSERVICE_ZIPF) {
+ zipf_init(&td->next_file_zipf, nranges, td->zipf_theta, seed);
+ zipf_disable_hash(&td->next_file_zipf);
+ } else if (td->o.file_service_type == FIO_FSERVICE_PARETO) {
+ pareto_init(&td->next_file_zipf, nranges, td->pareto_h, seed);
+ zipf_disable_hash(&td->next_file_zipf);
+ } else if (td->o.file_service_type == FIO_FSERVICE_GAUSS) {
+ gauss_init(&td->next_file_gauss, nranges, td->gauss_dev, seed);
+ gauss_disable_hash(&td->next_file_gauss);
+ }
+}
+
static void td_fill_rand_seeds_internal(struct thread_data *td, bool use64)
{
int i;
if (td->o.file_service_type == FIO_FSERVICE_RANDOM)
init_rand_seed(&td->next_file_state, td->rand_seeds[FIO_RAND_FILE_OFF], use64);
- else if (td->o.file_service_type & __FIO_FSERVICE_NONUNIFORM) {
- unsigned long nranges;
-
- nranges = td->o.nr_files << FIO_FSERVICE_SHIFT;
-
- if (td->o.file_service_type == FIO_FSERVICE_ZIPF) {
- zipf_init(&td->next_file_zipf, nranges, td->zipf_theta, td->rand_seeds[FIO_RAND_FILE_OFF]);
- zipf_disable_hash(&td->next_file_zipf);
- } else if (td->o.file_service_type == FIO_FSERVICE_PARETO) {
- pareto_init(&td->next_file_zipf, nranges, td->pareto_h, td->rand_seeds[FIO_RAND_FILE_OFF]);
- zipf_disable_hash(&td->next_file_zipf);
- } else if (td->o.file_service_type == FIO_FSERVICE_GAUSS) {
- gauss_init(&td->next_file_gauss, nranges, td->gauss_dev, td->rand_seeds[FIO_RAND_FILE_OFF]);
- gauss_disable_hash(&td->next_file_gauss);
- }
- }
+ else if (td->o.file_service_type & __FIO_FSERVICE_NONUNIFORM)
+ init_rand_file_service(td);
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);
break;
case FIO_FSERVICE_GAUSS:
if (val < 0.00 || val >= 100.00) {
- log_err("fio: normal deviation out of range (0 < input < 100.0 )\n");
+ log_err("fio: normal deviation out of range (0 <= input < 100.0)\n");
return 1;
}
if (parse_dryrun())
td->o.pareto_h.u.f = val;
} else {
if (val < 0.00 || val >= 100.0) {
- log_err("fio: normal deviation out of range (0 < input < 100.0)\n");
+ log_err("fio: normal deviation out of range (0 <= input < 100.0)\n");
return 1;
}
if (parse_dryrun())