X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=init.c;h=b7945cf35e81f0a4a1321268e55f6efd00505eee;hb=210dd0fc66b8956065e098bb9314febe8993e849;hp=242518ccd703f426eb216f86c9e5718da5138df2;hpb=ff6bb260a1dbade1559f26892883690021aa4598;p=fio.git diff --git a/init.c b/init.c index 242518cc..b7945cf3 100644 --- a/init.c +++ b/init.c @@ -737,11 +737,16 @@ static int fixup_options(struct thread_data *td) /* * 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; } /* @@ -858,6 +863,7 @@ static void td_fill_rand_seeds_internal(struct thread_data *td, int use64) 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; @@ -1232,6 +1238,10 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num, 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;