X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=iolog.c;h=12f09d0ec019b075625fd6a4f016337657c9e151;hb=18ded917799ea71ff950360fab7eebebe3c2f406;hp=f962864d912d9b5cdc3bfbc39286241fdd717665;hpb=d5e3a0c6f5376e0d76143edb2c1622efd77f995f;p=fio.git diff --git a/iolog.c b/iolog.c index f962864d..12f09d0e 100644 --- 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; }