stat: fix segfault with fio option --bandwidth-log
authorAnkit Kumar <ankit.kumar@samsung.com>
Fri, 21 Oct 2022 06:49:00 +0000 (12:19 +0530)
committerVincent Fu <vincent.fu@samsung.com>
Fri, 21 Oct 2022 17:23:41 +0000 (13:23 -0400)
The log_params for aggregate read, write and trim only specify
log type. As a result the io_log doesn't have the relevant
thread_data structure. With fio option --bandwidth-log this results
in segmentation fault.
Add a check and use DEF_LOG_ENTRIES for such case.

Fixes: 0a852a50 ("fio: Introduce the log_entries option")
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
[vkf: added Fixes tag, lightly edited commit message]
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
stat.c

diff --git a/stat.c b/stat.c
index 949af5edd49ffa05dfa16bbef70c7d1037de8261..b963973a5824c09663917e994bda0a7f6cb21145 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -2870,7 +2870,10 @@ static struct io_logs *get_new_log(struct io_log *iolog)
         * forever
         */
        if (!iolog->cur_log_max) {
-               new_samples = iolog->td->o.log_entries;
+               if (iolog->td)
+                       new_samples = iolog->td->o.log_entries;
+               else
+                       new_samples = DEF_LOG_ENTRIES;
        } else {
                new_samples = iolog->cur_log_max * 2;
                if (new_samples > MAX_LOG_ENTRIES)