-};
-
-enum fio_file_flags {
- FIO_FILE_OPEN = 1 << 0, /* file is open */
- FIO_FILE_UNLINK = 1 << 1, /* unlink on close */
- FIO_FILE_CLOSING = 1 << 2, /* file being closed */
- FIO_FILE_EXISTS = 1 << 3, /* file there */
- FIO_FILE_EXTEND = 1 << 4, /* needs extend */
- FIO_FILE_NOSORT = 1 << 5, /* don't sort verify blocks */
- FIO_FILE_DONE = 1 << 6, /* io completed to this file */
- FIO_SIZE_KNOWN = 1 << 7, /* size has been set */
-};
-
-/*
- * Each thread_data structure has a number of files associated with it,
- * this structure holds state information for a single file.
- */
-struct fio_file {
- enum fio_filetype filetype;
-
- /*
- * A file may not be a file descriptor, let the io engine decide
- */
- union {
- unsigned long file_data;
- int fd;
- };
-
- /*
- * filename and possible memory mapping
- */
- char *file_name;
- void *mmap;
-
- /*
- * size of the file, offset into file, and io size from that offset
- */
- unsigned long long real_file_size;
- unsigned long long file_offset;
- unsigned long long io_size;
-
- unsigned long long last_pos;
- unsigned long long last_completed_pos;
-
- /*
- * block map for random io
- */
- unsigned long *file_map;
- unsigned int num_maps;
- unsigned int last_free_lookup;
-
- int references;
- enum fio_file_flags flags;
+ FIO_UNIDIR = 1 << 5, /* engine is uni-directional */
+ FIO_NOIO = 1 << 6, /* thread does only pseudo IO */
+ FIO_SIGQUIT = 1 << 7, /* needs SIGQUIT to exit */