X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=verify.c;h=c0485d55bf268563a5bc760bede3333f7a58e8e6;hp=f25eab921fc379691466b9e8c3866efd3a2133eb;hb=d9759b1e4081cc45b958d8ffd06607260cb5557e;hpb=82af2a7ca1a543b41c003de69d5e3c36860f47d5 diff --git a/verify.c b/verify.c index f25eab92..c0485d55 100644 --- a/verify.c +++ b/verify.c @@ -690,6 +690,7 @@ int verify_io_u(struct thread_data *td, struct io_u *io_u) .hdr_num = hdr_num, .td = td, }; + unsigned int verify_type; if (ret && td->o.verify_fatal) break; @@ -708,7 +709,12 @@ int verify_io_u(struct thread_data *td, struct io_u *io_u) return EILSEQ; } - switch (hdr->verify_type) { + if (td->o.verify != VERIFY_NONE) + verify_type = td->o.verify; + else + verify_type = hdr->verify_type; + + switch (verify_type) { case VERIFY_MD5: ret = verify_io_u_md5(hdr, &vc); break; @@ -747,6 +753,10 @@ int verify_io_u(struct thread_data *td, struct io_u *io_u) log_err("Bad verify type %u\n", hdr->verify_type); ret = EINVAL; } + + if (ret && verify_type != hdr->verify_type) + log_err("fio: verify type mismatch (%u media, %u given)\n", + hdr->verify_type, verify_type); } done: @@ -1049,8 +1059,7 @@ static void *verify_async_thread(void *data) put_io_u(td, io_u); if (!ret) continue; - if (td->o.continue_on_error & ERROR_TYPE_VERIFY && - td_non_fatal_error(ret)) { + if (td_non_fatal_error(td, ERROR_TYPE_VERIFY_BIT, ret)) { update_error_count(td, ret); td_clear_error(td); ret = 0;