t/aio-ring: print head/tail as unsigneds
[fio.git] / verify.c
index c5fa24110143cb46cee4a6dad1db9a7e878c6a01..da429e793a86e8f0198a8cffaa5bf8a964898fcc 100644 (file)
--- a/verify.c
+++ b/verify.c
@@ -345,8 +345,10 @@ static void log_verify_failure(struct verify_header *hdr, struct vcont *vc)
 
        offset = vc->io_u->offset;
        offset += vc->hdr_num * hdr->len;
-       log_err("%.8s: verify failed at file %s offset %llu, length %u\n",
-                       vc->name, vc->io_u->file->file_name, offset, hdr->len);
+       log_err("%.8s: verify failed at file %s offset %llu, length %u"
+                       " (requested block: offset=%llu, length=%llu)\n",
+                       vc->name, vc->io_u->file->file_name, offset, hdr->len,
+                       vc->io_u->offset, vc->io_u->buflen);
 
        if (vc->good_crc && vc->bad_crc) {
                log_err("       Expected CRC: ");
@@ -801,7 +803,7 @@ static int verify_trimmed_io_u(struct thread_data *td, struct io_u *io_u)
 
        mem_is_zero_slow(io_u->buf, io_u->buflen, &offset);
 
-       log_err("trim: verify failed at file %s offset %llu, length %lu"
+       log_err("trim: verify failed at file %s offset %llu, length %llu"
                ", block offset %lu\n",
                        io_u->file->file_name, io_u->offset, io_u->buflen,
                        (unsigned long) offset);
@@ -865,9 +867,11 @@ static int verify_header(struct io_u *io_u, struct thread_data *td,
        return 0;
 
 err:
-       log_err(" at file %s offset %llu, length %u\n",
+       log_err(" at file %s offset %llu, length %u"
+               " (requested block: offset=%llu, length=%llu)\n",
                io_u->file->file_name,
-               io_u->offset + hdr_num * hdr_len, hdr_len);
+               io_u->offset + hdr_num * hdr_len, hdr_len,
+               io_u->offset, io_u->buflen);
 
        if (td->o.verify_dump)
                dump_buf(p, hdr_len, io_u->offset + hdr_num * hdr_len,
@@ -919,10 +923,9 @@ int verify_io_u(struct thread_data *td, struct io_u **io_u_ptr)
                hdr = p;
 
                /*
-                * Make rand_seed check pass when have verifysort or
-                * verify_backlog.
+                * Make rand_seed check pass when have verify_backlog.
                 */
-               if (td->o.verifysort || (td->flags & TD_F_VER_BACKLOG))
+               if (!td_rw(td) || (td->flags & TD_F_VER_BACKLOG))
                        io_u->rand_seed = hdr->rand_seed;
 
                if (td->o.verify != VERIFY_PATTERN_NO_HDR) {
@@ -1518,7 +1521,7 @@ int paste_blockoff(char *buf, unsigned int len, void *priv)
        struct io_u *io = priv;
        unsigned long long off;
 
-       typecheck(typeof(off), io->offset);
+       typecheck(__typeof__(off), io->offset);
        off = cpu_to_le64((uint64_t)io->offset);
        len = min(len, (unsigned int)sizeof(off));
        memcpy(buf, &off, len);