Fix potential null pointer dereference on verify and requeue events
[fio.git] / iolog.c
diff --git a/iolog.c b/iolog.c
index f962864d912d9b5cdc3bfbc39286241fdd717665..12f09d0ec019b075625fd6a4f016337657c9e151 100644 (file)
--- a/iolog.c
+++ b/iolog.c
@@ -239,7 +239,9 @@ restart:
                else if (ipo->offset > __ipo->offset)
                        p = &(*p)->rb_right;
                else {
-                       assert(ipo->len == __ipo->len);
+                       dprint(FD_IO, "iolog: overlap %llu/%lu, %llu/%lu",
+                               __ipo->offset, __ipo->len,
+                               ipo->offset, ipo->len);
                        td->io_hist_len--;
                        rb_erase(parent, &td->io_hist_tree);
                        remove_trim_entry(td, __ipo);
@@ -492,13 +494,15 @@ int init_iolog(struct thread_data *td)
        return ret;
 }
 
-void setup_log(struct io_log **log)
+void setup_log(struct io_log **log, unsigned long avg_msec)
 {
        struct io_log *l = malloc(sizeof(*l));
 
+       memset(l, 0, sizeof(*l));
        l->nr_samples = 0;
        l->max_samples = 1024;
        l->log = malloc(l->max_samples * sizeof(struct io_sample));
+       l->avg_msec = avg_msec;
        *log = l;
 }