X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengine.h;h=044c4da1a150af8ce239cd0bc57ca14a75ef0c6a;hb=b814fb2694fe178b5cb94e046b9d31944e752f4a;hp=389e95a560c0006671a2c2ee21f680d18dbe2e6e;hpb=38dad62d5154ffaad445bd0231b271b9a46a5190;p=fio.git diff --git a/ioengine.h b/ioengine.h index 389e95a5..044c4da1 100644 --- a/ioengine.h +++ b/ioengine.h @@ -9,6 +9,8 @@ enum { IO_U_F_FREE_DEF = 1 << 2, IO_U_F_IN_CUR_DEPTH = 1 << 3, IO_U_F_BUSY_OK = 1 << 4, + IO_U_F_TRIMMED = 1 << 5, + IO_U_F_BARRIER = 1 << 6, }; /* @@ -20,7 +22,7 @@ struct io_u { struct iocb iocb; #endif #ifdef FIO_HAVE_POSIXAIO - struct aiocb aiocb; + os_aiocb_t aiocb; #endif #ifdef FIO_HAVE_SGIO struct sg_io_hdr hdr; @@ -30,6 +32,12 @@ struct io_u { #endif #ifdef FIO_HAVE_SOLARISAIO aio_result_t resultp; +#endif +#ifdef FIO_HAVE_BINJECT + struct b_user_cmd buc; +#endif +#ifdef FIO_HAVE_RDMA + struct ibv_mr *mr; #endif void *mmap_data; }; @@ -43,6 +51,11 @@ struct io_u { unsigned long buflen; unsigned long long offset; + /* + * Initial seed for generating the buffer contents + */ + unsigned long rand_seed; + /* * IO engine state, may be different from above when we get * partial transfers / residual data counts @@ -120,8 +133,10 @@ enum fio_ioengine_flags { FIO_NODISKUTIL = 1 << 4, /* diskutil can't handle filename */ 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 */ + FIO_SIGTERM = 1 << 7, /* needs SIGTERM to exit */ FIO_PIPEIO = 1 << 8, /* input/output no seekable */ + FIO_BARRIER = 1 << 9, /* engine supports barriers */ + FIO_MEMALIGN = 1 << 10, /* engine wants aligned memory */ }; /*