X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=verify.h;h=ec7365c63bed7e167a86f2ec2c5015107864489f;hb=e5b8f91cc6229a5f8b38f1338fad29c800fef179;hp=be98c5460a3662ed915cacfa0c6d078738427c3f;hpb=bc77f56f79f6ae155e9eb26263ed686ef28b47ec;p=fio.git diff --git a/verify.h b/verify.h index be98c546..ec7365c6 100644 --- a/verify.h +++ b/verify.h @@ -1,7 +1,10 @@ #ifndef FIO_VERIFY_H #define FIO_VERIFY_H +#include + #define FIO_HDR_MAGIC 0xf00baaef +#define FIO_HDR_MAGIC2 0xf00dbeef enum { VERIFY_NONE = 0, /* no verification */ @@ -16,6 +19,7 @@ enum { VERIFY_SHA512, /* sha512 sum data blocks */ VERIFY_META, /* block_num, timestamp etc. */ VERIFY_SHA1, /* sha1 sum data blocks */ + VERIFY_PATTERN, /* verify specific patterns */ VERIFY_NULL, /* pretend to verify */ }; @@ -25,13 +29,17 @@ enum { * data. */ struct verify_header { - unsigned int fio_magic; - unsigned int len; - unsigned int verify_type; + uint32_t fio_magic; + uint32_t len; + uint32_t verify_type; + uint32_t pad1; + uint64_t rand_seed; + uint32_t pad2; + uint32_t crc32; }; struct vhdr_md5 { - uint32_t md5_digest[16]; + uint32_t md5_digest[4]; }; struct vhdr_sha512 { uint8_t sha512[128]; @@ -69,6 +77,7 @@ 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, unsigned long seed, int use_seed); /* * Async verify offload