server: properly configure port without argument
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index a74fb108c7f6f79827ea793d9cc099b28ea2777b..04963cd8b1680e6cb7062e8eb0696eba579310a9 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -135,6 +135,7 @@ struct thread_options {
        unsigned int use_os_rand;
        unsigned int write_lat_log;
        unsigned int write_bw_log;
+       unsigned int write_iops_log;
        unsigned int norandommap;
        unsigned int softrandommap;
        unsigned int bs_unaligned;
@@ -153,6 +154,7 @@ struct thread_options {
        unsigned long long ramp_time;
        unsigned int overwrite;
        unsigned int bw_avg_time;
+       unsigned int iops_avg_time;
        unsigned int loops;
        unsigned long long zone_size;
        unsigned long long zone_skip;
@@ -193,12 +195,13 @@ struct thread_options {
        unsigned long long trim_backlog;
        unsigned int clat_percentiles;
        unsigned int overwrite_plist;
-       double percentile_list[FIO_IO_U_LIST_MAX_LEN];
+       fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN];
 
        char *read_iolog_file;
        char *write_iolog_file;
        char *bw_log_file;
        char *lat_log_file;
+       char *iops_log_file;
        char *replay_redirect;
 
        /*
@@ -261,9 +264,13 @@ struct thread_data {
        struct io_log *clat_log;
        struct io_log *lat_log;
        struct io_log *bw_log;
+       struct io_log *iops_log;
 
        uint64_t stat_io_bytes[2];
-       struct timeval stat_sample_time[2];
+       struct timeval bw_sample_time;
+
+       uint64_t stat_io_blocks[2];
+       struct timeval iops_sample_time;
 
        struct rusage ru_start;
        struct rusage ru_end;
@@ -361,6 +368,7 @@ struct thread_data {
 
        unsigned long io_issues[2];
        unsigned long long io_blocks[2];
+       unsigned long long this_io_blocks[2];
        unsigned long long io_bytes[2];
        unsigned long long io_skip_bytes;
        unsigned long long this_io_bytes[2];
@@ -470,6 +478,9 @@ enum {
 #define td_vmsg(td, err, msg, func)    \
        __td_verror((td), (err), (msg), (func))
 
+#define __fio_stringify_1(x)   #x
+#define __fio_stringify(x)     __fio_stringify_1(x)
+
 extern int exitall_on_terminate;
 extern int thread_number;
 extern int nr_process, nr_thread;
@@ -491,6 +502,7 @@ extern int terse_version;
 extern int is_backend;
 extern int nr_clients;
 extern int log_syslog;
+extern const fio_fp64_t def_percentile_list[FIO_IO_U_LIST_MAX_LEN];
 
 extern struct thread_data *threads;
 
@@ -532,6 +544,7 @@ static inline int should_fsync(struct thread_data *td)
  */
 extern int __must_check parse_options(int, char **);
 extern int parse_jobs_ini(char *, int, int);
+extern int parse_cmd_line(int, char **);
 extern int exec_run(void);
 extern void reset_fio_state(void);
 extern int fio_options_parse(struct thread_data *, char **, int);
@@ -688,4 +701,7 @@ static inline void td_io_u_free_notify(struct thread_data *td)
                pthread_cond_signal(&td->free_cond);
 }
 
+extern const char *fio_get_arch_string(int);
+extern const char *fio_get_os_string(int);
+
 #endif