X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=io_u.h;h=55b4d08312b2d3fff93f341ff194f22a426d09e6;hb=37946bed31b688fe55e2003b6d59ff0c964165bb;hp=311009287403f8254e6d922c9658a72b1f80ae29;hpb=3c1f3ca75b447a2bd0a93deb0a2a1210529d2ccb;p=fio.git diff --git a/io_u.h b/io_u.h index 31100928..55b4d083 100644 --- a/io_u.h +++ b/io_u.h @@ -11,9 +11,6 @@ #ifdef CONFIG_LIBAIO #include #endif -#ifdef CONFIG_GUASI -#include -#endif enum { IO_U_F_FREE = 1 << 0, @@ -24,7 +21,7 @@ enum { IO_U_F_TRIMMED = 1 << 5, IO_U_F_BARRIER = 1 << 6, IO_U_F_VER_LIST = 1 << 7, - IO_U_F_PRIORITY = 1 << 8, + IO_U_F_PATTERN_DONE = 1 << 8, }; /* @@ -49,6 +46,12 @@ struct io_u { */ unsigned short numberio; + /* + * IO priority. + */ + unsigned short ioprio; + unsigned short clat_prio_index; + /* * Allocated/set buffer and length */ @@ -101,19 +104,23 @@ struct io_u { * @success == true means that the I/O operation has been queued or * completed successfully. */ - void (*zbd_queue_io)(struct io_u *, int q, bool success); + void (*zbd_queue_io)(struct thread_data *td, struct io_u *, int q, + bool success); /* * ZBD mode zbd_put_io callback: called in after completion of an I/O * or commit of an async I/O to unlock the I/O target zone. */ - void (*zbd_put_io)(const struct io_u *); + void (*zbd_put_io)(struct thread_data *td, const struct io_u *); /* * Callback for io completion */ int (*end_io)(struct thread_data *, struct io_u **); + uint32_t dtype; + uint32_t dspec; + union { #ifdef CONFIG_LIBAIO struct iocb iocb; @@ -124,9 +131,6 @@ struct io_u { #ifdef FIO_HAVE_SGIO struct sg_io_hdr hdr; #endif -#ifdef CONFIG_GUASI - guasi_req_t greq; -#endif #ifdef CONFIG_SOLARISAIO aio_result_t resultp; #endif @@ -193,7 +197,5 @@ static inline enum fio_ddir acct_ddir(struct io_u *io_u) td_flags_clear((td), &(io_u->flags), (val)) #define io_u_set(td, io_u, val) \ td_flags_set((td), &(io_u)->flags, (val)) -#define io_u_is_prio(io_u) \ - (io_u->flags & (unsigned int) IO_U_F_PRIORITY) != 0 #endif