X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=file.h;h=7024d5ee9d6bcb8f1a4ecb71b46f2297ea836226;hb=77710811111850d125bee164dec80215b79e6c3d;hp=89120072a18a217c7f15b820d0246e8aa1b94812;hpb=4cd02b3f7f4eda0ec263f04422ab6424b7693605;p=fio.git diff --git a/file.h b/file.h index 89120072..7024d5ee 100644 --- a/file.h +++ b/file.h @@ -28,6 +28,16 @@ enum file_lock_mode { FILE_LOCK_READWRITE, }; +/* + * roundrobin available files, or choose one at random, or do each one + * serially. + */ +enum { + FIO_FSERVICE_RANDOM = 1, + FIO_FSERVICE_RR = 2, + FIO_FSERVICE_SEQ = 3, +}; + /* * Each thread_data structure has a number of files associated with it, * this structure holds state information for a single file. @@ -130,4 +140,12 @@ extern void dup_files(struct thread_data *, struct thread_data *); extern int get_fileno(struct thread_data *, const char *); extern void free_release_files(struct thread_data *); +static inline void fio_file_reset(struct fio_file *f) +{ + f->last_free_lookup = 0; + f->last_pos = f->file_offset; + if (f->file_map) + memset(f->file_map, 0, f->num_maps * sizeof(int)); +} + #endif