projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gfio: add high/low priority latency results
[fio.git]
/
blktrace.c
diff --git
a/blktrace.c
b/blktrace.c
index f7a9ae3bc1f5f5c9e2195b2fc21e91d8ed6f4b0c..64a610a95944c9ec1e5d4fdaba56b987e24c7943 100644
(file)
--- a/
blktrace.c
+++ b/
blktrace.c
@@
-719,9
+719,11
@@
int merge_blktrace_iologs(struct thread_data *td)
/* setup output file */
merge_fp = fopen(td->o.merge_blktrace_file, "w");
merge_buf = malloc(128 * 1024);
/* setup output file */
merge_fp = fopen(td->o.merge_blktrace_file, "w");
merge_buf = malloc(128 * 1024);
+ if (!merge_buf)
+ goto err_out_file;
ret = setvbuf(merge_fp, merge_buf, _IOFBF, 128 * 1024);
if (ret)
ret = setvbuf(merge_fp, merge_buf, _IOFBF, 128 * 1024);
if (ret)
- goto err_
out_file
;
+ goto err_
merge_buf
;
/* setup input files */
str = ptr = strdup(td->o.read_iolog_file);
/* setup input files */
str = ptr = strdup(td->o.read_iolog_file);
@@
-731,6
+733,7
@@
int merge_blktrace_iologs(struct thread_data *td)
if (bcs[i].fd < 0) {
log_err("fio: could not open file: %s\n", name);
ret = bcs[i].fd;
if (bcs[i].fd < 0) {
log_err("fio: could not open file: %s\n", name);
ret = bcs[i].fd;
+ free(str);
goto err_file;
}
bcs[i].fifo = fifo_alloc(TRACE_FIFO_SIZE);
goto err_file;
}
bcs[i].fifo = fifo_alloc(TRACE_FIFO_SIZE);
@@
-738,11
+741,13
@@
int merge_blktrace_iologs(struct thread_data *td)
if (!is_blktrace(name, &bcs[i].swap)) {
log_err("fio: file is not a blktrace: %s\n", name);
if (!is_blktrace(name, &bcs[i].swap)) {
log_err("fio: file is not a blktrace: %s\n", name);
+ free(str);
goto err_file;
}
ret = read_trace(td, &bcs[i]);
if (ret < 0) {
goto err_file;
}
ret = read_trace(td, &bcs[i]);
if (ret < 0) {
+ free(str);
goto err_file;
} else if (!ret) {
merge_finish_file(bcs, i, &nr_logs);
goto err_file;
} else if (!ret) {
merge_finish_file(bcs, i, &nr_logs);
@@
-784,10
+789,11
@@
err_file:
fifo_free(bcs[i].fifo);
close(bcs[i].fd);
}
fifo_free(bcs[i].fifo);
close(bcs[i].fd);
}
+err_merge_buf:
+ free(merge_buf);
err_out_file:
fflush(merge_fp);
fclose(merge_fp);
err_out_file:
fflush(merge_fp);
fclose(merge_fp);
- free(merge_buf);
err_param:
free(bcs);
err_param:
free(bcs);