return true;
}
+/*
+ * Treat an empty log file name the same as a one not given
+ */
+static const char *make_log_name(const char *logname, const char *jobname)
+{
+ if (logname && strcmp(logname, ""))
+ return logname;
+
+ return jobname;
+}
+
/*
* Adds a job to the list of things todo. Sanitizes the various options
* to make sure we don't have conflicts, and initializes various
.log_gz = o->log_gz,
.log_gz_store = o->log_gz_store,
};
- const char *pre =
- (o->lat_log_file && strcmp(o->lat_log_file, "") != 0) ?
- o->lat_log_file : o->name;
+ const char *pre = make_log_name(o->lat_log_file, o->name);
const char *suf;
if (p.log_gz_store)
.log_gz = o->log_gz,
.log_gz_store = o->log_gz_store,
};
- const char *pre =
- (o->hist_log_file && strcmp(o->hist_log_file, "") != 0) ?
- o->hist_log_file : o->name;
+ const char *pre = make_log_name(o->hist_log_file, o->name);
const char *suf;
#ifndef CONFIG_ZLIB
.log_gz = o->log_gz,
.log_gz_store = o->log_gz_store,
};
- const char *pre =
- (o->bw_log_file && strcmp(o->bw_log_file, "") != 0) ?
- o->bw_log_file : o->name;
+ const char *pre = make_log_name(o->bw_log_file, o->name);
const char *suf;
if (fio_option_is_set(o, bw_avg_time))
.log_gz = o->log_gz,
.log_gz_store = o->log_gz_store,
};
- const char *pre =
- (o->iops_log_file && strcmp(o->iops_log_file, "") != 0) ?
- o->iops_log_file : o->name;
+ const char *pre = make_log_name(o->iops_log_file, o->name);
const char *suf;
if (fio_option_is_set(o, iops_avg_time))
char *c1, *c2, *c3, *c4;
char *c5 = NULL, *c6 = NULL;
int i2p = is_power_of_2(o->kb_base);
+ struct buf_output out;
c1 = num2str(o->min_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c2 = num2str(o->max_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c6 = num2str(o->max_bs[DDIR_TRIM], o->sig_figs, 1, i2p, N2S_BYTE);
}
- log_info("%s: (g=%d): rw=%s, ", td->o.name,
+ buf_output_init(&out);
+ __log_buf(&out, "%s: (g=%d): rw=%s, ", td->o.name,
td->groupid,
ddir_str(o->td_ddir));
if (o->bs_is_seq_rand)
- log_info("bs=(R) %s-%s, (W) %s-%s, bs_is_seq_rand, ",
+ __log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, bs_is_seq_rand, ",
c1, c2, c3, c4);
else
- log_info("bs=(R) %s-%s, (W) %s-%s, (T) %s-%s, ",
+ __log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, (T) %s-%s, ",
c1, c2, c3, c4, c5, c6);
- log_info("ioengine=%s, iodepth=%u\n",
+ __log_buf(&out, "ioengine=%s, iodepth=%u\n",
td->io_ops->name, o->iodepth);
+ log_info_buf(out.buf, out.buflen);
+ buf_output_free(&out);
free(c1);
free(c2);