Reuse filled pattern
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index 03dc6cc8871319b786a66d854371320be4208728..896f79774980758df43755d023cdcac5106fd128 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -142,17 +142,6 @@ static void sig_int(int sig)
        }
 }
 
-static void sig_ill(int fio_unused sig)
-{
-       if (!threads)
-               return;
-
-       log_err("fio: illegal instruction. your cpu does not support "
-               "the sse4.2 instruction for crc32c\n");
-       terminate_threads(TERMINATE_ALL);
-       exit(4);
-}
-
 static void set_sig_handlers(void)
 {
        struct sigaction act;
@@ -167,11 +156,6 @@ static void set_sig_handlers(void)
        act.sa_flags = SA_RESTART;
        sigaction(SIGINT, &act, NULL);
 
-       memset(&act, 0, sizeof(act));
-       act.sa_handler = sig_ill;
-       act.sa_flags = SA_RESTART;
-       sigaction(SIGILL, &act, NULL);
-
        memset(&act, 0, sizeof(act));
        act.sa_handler = sig_quit;
        act.sa_flags = SA_RESTART;
@@ -847,6 +831,13 @@ static int init_io_u(struct thread_data *td)
 
                        if (td_write(td) && !td->o.refill_buffers)
                                io_u_fill_buffer(td, io_u, max_bs);
+                       else if (td_write(td) && td->o.verify_pattern_bytes) {
+                               /*
+                                * Fill the buffer with the pattern if we are
+                                * going to be doing writes.
+                                */
+                               fill_pattern(td, io_u->buf, max_bs, io_u);
+                       }
                }
 
                io_u->index = i;
@@ -1193,6 +1184,13 @@ static void *thread_main(void *data)
                } else
                        finish_log(td, td->ts.bw_log, "bw");
        }
+       if (td->ts.lat_log) {
+               if (td->o.lat_log_file) {
+                       finish_log_named(td, td->ts.lat_log,
+                                               td->o.lat_log_file, "lat");
+               } else
+                       finish_log(td, td->ts.lat_log, "lat");
+       }
        if (td->ts.slat_log) {
                if (td->o.lat_log_file) {
                        finish_log_named(td, td->ts.slat_log,
@@ -1694,8 +1692,7 @@ int main(int argc, char *argv[])
 
        cgroup_kill(cgroup_list);
        sfree(cgroup_list);
-       if (cgroup_mnt)
-               sfree(cgroup_mnt);
+       sfree(cgroup_mnt);
 
        fio_mutex_remove(startup_mutex);
        fio_mutex_remove(writeout_mutex);