X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=verify.h;h=a6f89746d49b24b5d1876f597df7c4ed4f89a074;hp=76d256d1d2b4d8fd7e42e445704ba746e0de538c;hb=03e20d687566753b90383571e5e152c5142bdffd;hpb=4f5af7b2370a6d3e64bc5128905c1aa8b0dc51b0 diff --git a/verify.h b/verify.h index 76d256d1..a6f89746 100644 --- a/verify.h +++ b/verify.h @@ -1,6 +1,8 @@ #ifndef FIO_VERIFY_H #define FIO_VERIFY_H +#include + #define FIO_HDR_MAGIC 0xf00baaef enum { @@ -15,6 +17,7 @@ enum { VERIFY_SHA256, /* sha256 sum data blocks */ VERIFY_SHA512, /* sha512 sum data blocks */ VERIFY_META, /* block_num, timestamp etc. */ + VERIFY_SHA1, /* sha1 sum data blocks */ VERIFY_NULL, /* pretend to verify */ }; @@ -30,13 +33,16 @@ struct verify_header { }; struct vhdr_md5 { - uint32_t md5_digest[16]; + uint32_t md5_digest[4]; }; struct vhdr_sha512 { uint8_t sha512[128]; }; struct vhdr_sha256 { - uint8_t sha256[128]; + uint8_t sha256[64]; +}; +struct vhdr_sha1 { + uint32_t sha1[5]; }; struct vhdr_crc64 { uint64_t crc64; @@ -64,5 +70,13 @@ struct vhdr_meta { extern void populate_verify_io_u(struct thread_data *, struct io_u *); extern int __must_check get_next_verify(struct thread_data *td, struct io_u *); extern int __must_check verify_io_u(struct thread_data *, struct io_u *); +extern int verify_io_u_async(struct thread_data *, struct io_u *); +extern void fill_pattern(struct thread_data *td, void *p, unsigned int len, struct io_u *io_u); + +/* + * Async verify offload + */ +extern int verify_async_init(struct thread_data *); +extern void verify_async_exit(struct thread_data *); #endif