X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=iolog.c;h=4c87f1cb88d723f90712da14474ce2d1fe71deba;hp=9391507940112d372c644c6180575a7a4e523398;hb=c16556af62cd1cd1ae31b6ee8706efc43c137f77;hpb=34febb23fa9c7b9b0d54c324effff1a808a8fe6e diff --git a/iolog.c b/iolog.c index 93915079..4c87f1cb 100644 --- a/iolog.c +++ b/iolog.c @@ -645,6 +645,7 @@ void free_log(struct io_log *log) cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); free(cur_log->log); + sfree(cur_log); } if (log->pending) { @@ -964,7 +965,7 @@ int iolog_file_inflate(const char *file) #endif -void flush_log(struct io_log *log, int do_append) +void flush_log(struct io_log *log, bool do_append) { void *buf; FILE *f; @@ -988,6 +989,7 @@ void flush_log(struct io_log *log, int do_append) cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); flush_samples(f, cur_log->log, cur_log->nr_samples * log_entry_sz(log)); + sfree(cur_log); } fclose(f); @@ -1226,9 +1228,7 @@ static int iolog_flush(struct io_log *log) data->samples = cur_log->log; data->nr_samples = cur_log->nr_samples; - cur_log->nr_samples = 0; - cur_log->max_samples = 0; - cur_log->log = NULL; + sfree(cur_log); gz_work(data); }