Merge branch 'atomic-writes'
[fio.git] / verify.c
index 3e0294435b3e393fc08c0f8260c133eab7c111df..f3d228ba7df8472c9fcbde72c776ff618b2a9486 100644 (file)
--- a/verify.c
+++ b/verify.c
@@ -344,7 +344,7 @@ static void log_verify_failure(struct verify_header *hdr, struct vcont *vc)
        offset = vc->io_u->verify_offset;
        if (td->o.verify != VERIFY_PATTERN_NO_HDR) {
                len = hdr->len;
-               offset += vc->hdr_num * len;
+               offset += (unsigned long long) vc->hdr_num * len;
        } else {
                len = vc->io_u->buflen;
        }
@@ -848,12 +848,13 @@ static int verify_header(struct io_u *io_u, struct thread_data *td,
        /*
         * For read-only workloads, the program cannot be certain of the
         * last numberio written to a block. Checking of numberio will be
-        * done only for workloads that write data.  For verify_only,
-        * numberio check is skipped.
+        * done only for workloads that write data.  For verify_only or
+        * any mode de-selecting verify_write_sequence, numberio check is
+        * skipped.
         */
        if (td_write(td) && (td_min_bs(td) == td_max_bs(td)) &&
            !td->o.time_based)
-               if (!td->o.verify_only)
+               if (td->o.verify_write_sequence)
                        if (hdr->numberio != io_u->numberio) {
                                log_err("verify: bad header numberio %"PRIu16
                                        ", wanted %"PRIu16,
@@ -1619,8 +1620,8 @@ struct all_io_list *get_all_io_list(int save_mask, size_t *sz)
                comps = fill_file_completions(td, s, &index);
 
                s->no_comps = cpu_to_le64((uint64_t) comps);
-               s->depth = cpu_to_le64((uint64_t) td->o.iodepth);
-               s->nofiles = cpu_to_le64((uint64_t) td->o.nr_files);
+               s->depth = cpu_to_le32((uint32_t) td->o.iodepth);
+               s->nofiles = cpu_to_le32((uint32_t) td->o.nr_files);
                s->numberio = cpu_to_le64((uint64_t) td->io_issues[DDIR_WRITE]);
                s->index = cpu_to_le64((uint64_t) __td_index);
                if (td->random_state.use64) {