X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=fa0edb1ed02938899776f397aa97b446ad7052e1;hb=d84f8d4931be0c7519bd9f97f9914b07578a9854;hp=6b70805966d9d93d66cba25136429d563969b7e6;hpb=317b95d07d4921d2594a1be6e014c9c2d062fe75;p=fio.git diff --git a/fio.h b/fio.h index 6b708059..fa0edb1e 100644 --- a/fio.h +++ b/fio.h @@ -88,6 +88,7 @@ struct io_piece { unsigned long long offset; unsigned long len; enum fio_ddir ddir; + unsigned long delay; }; #ifdef FIO_HAVE_SYSLET @@ -135,6 +136,7 @@ struct io_u { void *buf; unsigned long buflen; unsigned long long offset; + unsigned long long endpos; /* * IO engine state, may be different from above when we get @@ -224,6 +226,7 @@ enum fio_filetype { FIO_TYPE_FILE = 1, /* plain file */ FIO_TYPE_BD, /* block device */ FIO_TYPE_CHAR, /* character device */ + FIO_TYPE_PIPE, /* pipe */ }; enum fio_ioengine_flags { @@ -236,13 +239,12 @@ enum fio_ioengine_flags { 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 */ + FIO_FILE_CLOSING = 1 << 1, /* file being closed */ + FIO_FILE_EXISTS = 1 << 2, /* file there */ + FIO_FILE_EXTEND = 1 << 3, /* needs extend */ + FIO_FILE_NOSORT = 1 << 4, /* don't sort verify blocks */ + FIO_FILE_DONE = 1 << 5, /* io completed to this file */ + FIO_SIZE_KNOWN = 1 << 6, /* size has been set */ }; /* @@ -331,6 +333,7 @@ struct thread_stat { unsigned int io_u_map[FIO_IO_U_MAP_NR]; unsigned int io_u_lat[FIO_IO_U_LAT_NR]; unsigned long total_io_u[2]; + unsigned long short_io_u[2]; unsigned long long io_bytes[2]; unsigned long runtime[2]; @@ -402,13 +405,14 @@ struct thread_options { unsigned int numjobs; os_cpu_mask_t cpumask; unsigned int iolog; - unsigned int read_iolog; unsigned int rwmixcycle; unsigned int rwmix[2]; unsigned int nice; unsigned int file_service_type; unsigned int group_reporting; unsigned int fadvise_hint; + unsigned int zero_buffers; + unsigned int time_based; char *read_iolog_file; char *write_iolog_file; @@ -518,6 +522,7 @@ struct thread_data { struct timeval start; /* start of this loop */ struct timeval epoch; /* time job was started */ struct timeval rw_end[2]; + struct timeval last_issue; unsigned int rw_end_set[2]; /* @@ -647,6 +652,7 @@ struct disk_util { struct list_head list; char *name; + char *sysfs_root; char path[256]; int major, minor; @@ -821,6 +827,12 @@ extern int __must_check td_io_commit(struct thread_data *); extern int __must_check td_io_open_file(struct thread_data *, struct fio_file *); extern void td_io_close_file(struct thread_data *, struct fio_file *); +/* + * blktrace support + */ +extern int is_blktrace(const char *); +extern int load_blktrace(struct thread_data *, const char *); + /* * If logging output to a file, stderr should go to both stderr and f_err */