+static int verify_header(struct io_u *io_u, struct verify_header *hdr)
+{
+ void *p = hdr;
+ uint32_t crc;
+
+ if (hdr->magic != FIO_HDR_MAGIC)
+ return 0;
+ if (hdr->len > io_u->buflen) {
+ log_err("fio: verify header exceeds buffer length (%u > %lu)\n", hdr->len, io_u->buflen);
+ return 0;
+ }
+
+ crc = fio_crc32c(p, offsetof(struct verify_header, crc32));
+ if (crc == hdr->crc32)
+ return 1;
+
+ log_err("fio: verify header crc %x, calculated %x\n", hdr->crc32, crc);
+ return 0;
+}
+