X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=verify.h;h=6a81e9b012bc6fa0632a90ea0dc2e9acfe26755f;hp=50c8e4328b44960b1056ed733589ad269fa656c7;hb=fdc0f3b646e417497849d4398029f780b0e5262f;hpb=e8462bd8250cf3ff2d41f17e1a4d4cefc70b6b37 diff --git a/verify.h b/verify.h index 50c8e432..6a81e9b0 100644 --- a/verify.h +++ b/verify.h @@ -1,7 +1,9 @@ #ifndef FIO_VERIFY_H #define FIO_VERIFY_H -#define FIO_HDR_MAGIC 0xf00baaef +#include + +#define FIO_HDR_MAGIC 0xacca enum { VERIFY_NONE = 0, /* no verification */ @@ -15,6 +17,8 @@ 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_PATTERN, /* verify specific patterns */ VERIFY_NULL, /* pretend to verify */ }; @@ -24,19 +28,24 @@ enum { * data. */ struct verify_header { - unsigned int fio_magic; - unsigned int len; - unsigned int verify_type; + uint16_t magic; + uint16_t verify_type; + uint32_t len; + uint64_t rand_seed; + uint32_t crc32; }; 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; @@ -65,6 +74,8 @@ 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); +extern void fio_verify_init(struct thread_data *td); /* * Async verify offload