X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=filesetup.c;h=aa1a39455c1ee12285f795d668780ca8f7e8bceb;hp=580403dbc232aa8676d2a3933c3eac4a5f7e31a5;hb=2401022342f650ac7d845a14c7b9bf1cd87cead6;hpb=bfbdd35b3e8f7de1bf1f48e7087c04a6b37e9c61 diff --git a/filesetup.c b/filesetup.c index 580403db..aa1a3945 100644 --- a/filesetup.c +++ b/filesetup.c @@ -331,7 +331,7 @@ unsigned long long get_rand_file_size(struct thread_data *td) { unsigned long long ret, sized; uint64_t frand_max; - unsigned long r; + uint64_t r; frand_max = rand_max(&td->file_size_state); r = __rand(&td->file_size_state); @@ -908,9 +908,6 @@ int setup_files(struct thread_data *td) old_state = td_bump_runstate(td, TD_SETTING_UP); - if (o->read_iolog_file) - goto done; - /* * Find out physical size of files or devices for this thread, * before we determine I/O size and range of our targets. @@ -926,6 +923,9 @@ int setup_files(struct thread_data *td) if (err) goto err_out; + if (o->read_iolog_file) + goto done; + /* * check sizes. if the files/devices do not exist and the size * isn't passed to fio, abort. @@ -1192,13 +1192,13 @@ bool pre_read_files(struct thread_data *td) static void __init_rand_distribution(struct thread_data *td, struct fio_file *f) { unsigned int range_size, seed; - unsigned long nranges; + uint64_t nranges; uint64_t fsize; range_size = min(td->o.min_bs[DDIR_READ], td->o.min_bs[DDIR_WRITE]); fsize = min(f->real_file_size, f->io_size); - nranges = (fsize + range_size - 1) / range_size; + nranges = (fsize + range_size - 1ULL) / range_size; seed = jhash(f->file_name, strlen(f->file_name), 0) * td->thread_number; if (!td->o.rand_repeatable)