X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=verify.h;h=bb3fd492ccbca7c3d7e2d354d7f91ba781e54b8a;hp=d5a906e4bee4aaeaae57cd2eeb3f1c16e2836ae9;hb=b37d19b50ceab74c3947dd1685616e21b8638c95;hpb=7d9fb455aadc0c0363489591775496f27f4a560a diff --git a/verify.h b/verify.h index d5a906e4..bb3fd492 100644 --- a/verify.h +++ b/verify.h @@ -3,7 +3,7 @@ #include -#define FIO_HDR_MAGIC 0xf00baaef +#define FIO_HDR_MAGIC 0xacca enum { VERIFY_NONE = 0, /* no verification */ @@ -16,8 +16,10 @@ enum { VERIFY_CRC7, /* crc7 sum data blocks */ VERIFY_SHA256, /* sha256 sum data blocks */ VERIFY_SHA512, /* sha512 sum data blocks */ + VERIFY_XXHASH, /* xxhash 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 */ }; @@ -27,10 +29,11 @@ enum { * data. */ struct verify_header { - unsigned int fio_magic; - unsigned int len; - unsigned int verify_type; - unsigned long rand_seed; + uint16_t magic; + uint16_t verify_type; + uint32_t len; + uint64_t rand_seed; + uint32_t crc32; }; struct vhdr_md5 { @@ -64,15 +67,20 @@ struct vhdr_meta { unsigned long time_sec; unsigned long time_usec; }; +struct vhdr_xxhash { + uint32_t hash; +}; /* * Verify helpers */ 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 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_verify_pattern(struct thread_data *td, void *p, unsigned int len, struct io_u *io_u, unsigned long seed, int use_seed); +extern void fill_buffer_pattern(struct thread_data *td, void *p, unsigned int len); +extern void fio_verify_init(struct thread_data *td); /* * Async verify offload