#include "arch/arch.h"
#include "os/os.h"
#include "mutex.h"
+#include "sem.h"
#include "log.h"
#include "debug.h"
FIO_FILE_EXTEND = 1 << 2, /* needs extend */
FIO_FILE_DONE = 1 << 3, /* io completed to this file */
FIO_SIZE_KNOWN = 1 << 4, /* size has been set */
+ FIO_FILE_HASHED = 1 << 5, /* file is on hash */
};
/*
* this structure holds state information for a single file.
*/
struct fio_file {
+ struct list_head hash_list;
enum fio_filetype filetype;
/*
unsigned long long last_pos;
+ /*
+ * if io is protected by a semaphore, this is set
+ */
+ struct fio_sem *sem;
+ void *sem_owner;
+ unsigned int sem_batch;
+
/*
* block map for random io
*/
unsigned int nr_files;
unsigned int open_files;
+ unsigned int lockfile;
+ unsigned int lockfile_batch;
unsigned int odirect;
unsigned int invalidate_cache;