Make lib/num2str.c a stand-alone library by adding lib/num2str.h
[fio.git] / fio.h
diff --git a/fio.h b/fio.h
index 3955a819804290c37aee71aaf153333fb69d7ebc..b67613e6d10bdcb4309e9df6c14f7dbae9cc2f1e 100644 (file)
--- a/fio.h
+++ b/fio.h
@@ -35,6 +35,7 @@
 #include "oslib/getopt.h"
 #include "lib/rand.h"
 #include "lib/rbtree.h"
+#include "lib/num2str.h"
 #include "client.h"
 #include "server.h"
 #include "stat.h"
@@ -100,6 +101,8 @@ enum {
        FIO_DEDUPE_OFF,
        FIO_RAND_POISSON_OFF,
        FIO_RAND_ZONE_OFF,
+       FIO_RAND_POISSON2_OFF,
+       FIO_RAND_POISSON3_OFF,
        FIO_RAND_NR_OFFS,
 };
 
@@ -281,8 +284,8 @@ struct thread_data {
        unsigned long rate_blocks[DDIR_RWDIR_CNT];
        unsigned long long rate_io_issue_bytes[DDIR_RWDIR_CNT];
        struct timeval lastrate[DDIR_RWDIR_CNT];
-       int64_t last_usec;
-       struct frand_state poisson_state;
+       int64_t last_usec[DDIR_RWDIR_CNT];
+       struct frand_state poisson_state[DDIR_RWDIR_CNT];
 
        /*
         * Enforced rate submission/completion workqueue
@@ -520,7 +523,6 @@ extern void fio_options_mem_dupe(struct thread_data *);
 extern void td_fill_rand_seeds(struct thread_data *);
 extern void td_fill_verify_state_seed(struct thread_data *);
 extern void add_job_opts(const char **, int);
-extern char *num2str(uint64_t, int, int, int, int);
 extern int ioengine_load(struct thread_data *);
 extern bool parse_dryrun(void);
 extern int fio_running_or_pending_io_threads(void);
@@ -533,13 +535,6 @@ extern uintptr_t page_size;
 extern int initialize_fio(char *envp[]);
 extern void deinitialize_fio(void);
 
-#define N2S_NONE       0
-#define N2S_BITPERSEC  1       /* match unit_base for bit rates */
-#define N2S_PERSEC     2
-#define N2S_BIT                3
-#define N2S_BYTE       4
-#define N2S_BYTEPERSEC         8       /* match unit_base for byte rates */
-
 #define FIO_GETOPT_JOB         0x89000000
 #define FIO_GETOPT_IOENGINE    0x98000000
 #define FIO_NR_OPTIONS         (FIO_MAX_OPTS + 128)