X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=init.c;h=8dc57845ee24605ea316e6252ca8f5684365d74c;hb=a3efc919b0dcc27d65a6e84edca209b91cee173d;hp=482ce09990dd5b3d3781c82430ef0fb16649be95;hpb=de890a1e48d40238dac69f302708dde8719de240;p=fio.git diff --git a/init.c b/init.c index 482ce099..8dc57845 100644 --- a/init.c +++ b/init.c @@ -255,7 +255,7 @@ static int setup_thread_area(void) shm_id = shmget(0, size, IPC_CREAT | 0600); if (shm_id != -1) break; - if (errno != EINVAL) { + if (errno != EINVAL && errno != ENOMEM) { perror("shmget"); break; } @@ -402,11 +402,18 @@ static int fixup_options(struct thread_data *td) } /* - * only really works for sequential io for now, and with 1 file + * only really works with 1 file */ - if (o->zone_size && td_random(td) && o->open_files == 1) + if (o->zone_size && o->open_files == 1) o->zone_size = 0; + /* + * If zone_range isn't specified, backward compatibility dictates it + * should be made equal to zone_size. + */ + if (o->zone_size && !o->zone_range) + o->zone_range = o->zone_size; + /* * Reads can do overwrites, we always need to pre-create the file */ @@ -832,14 +839,14 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num) goto err; if (td->o.write_lat_log) { - setup_log(&td->lat_log); - setup_log(&td->slat_log); - setup_log(&td->clat_log); + setup_log(&td->lat_log, td->o.log_avg_msec); + setup_log(&td->slat_log, td->o.log_avg_msec); + setup_log(&td->clat_log, td->o.log_avg_msec); } if (td->o.write_bw_log) - setup_log(&td->bw_log); + setup_log(&td->bw_log, td->o.log_avg_msec); if (td->o.write_iops_log) - setup_log(&td->iops_log); + setup_log(&td->iops_log, td->o.log_avg_msec); if (!td->o.name) td->o.name = strdup(jobname);