Merge branch 'master' of https://github.com/donny372/fio into master
[fio.git] / iolog.c
diff --git a/iolog.c b/iolog.c
index 4a79fc4667fc13eff4c62b9206a0dfefe0a5dfd4..7f21be51942024e7a2daf199770082e77291b136 100644 (file)
--- a/iolog.c
+++ b/iolog.c
@@ -19,6 +19,7 @@
 #include "smalloc.h"
 #include "blktrace.h"
 #include "pshared.h"
+#include "lib/roundup.h"
 
 #include <netinet/in.h>
 #include <netinet/tcp.h>
@@ -619,6 +620,8 @@ static bool init_iolog_read(struct thread_data *td)
                fd = open_socket(fname);
                if (fd >= 0)
                        f = fdopen(fd, "r");
+       } else if (!strcmp(fname, "-")) {
+               f = stdin;
        } else
                f = fopen(fname, "r");
 
@@ -748,10 +751,13 @@ void setup_log(struct io_log **log, struct log_params *p,
        }
 
        if (l->td && l->td->o.io_submit_mode != IO_MODE_OFFLOAD) {
+               unsigned int def_samples = DEF_LOG_ENTRIES;
                struct io_logs *__p;
 
                __p = calloc(1, sizeof(*l->pending));
-               __p->max_samples = DEF_LOG_ENTRIES;
+               if (l->td->o.iodepth > DEF_LOG_ENTRIES)
+                       def_samples = roundup_pow2(l->td->o.iodepth);
+               __p->max_samples = def_samples;
                __p->log = calloc(__p->max_samples, log_entry_sz(l));
                l->pending = __p;
        }