projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stat: fix potential segfault for json output on network client
[fio.git]
/
fio.h
diff --git
a/fio.h
b/fio.h
index 744d99422ba70d4e4c641eb05023742139e1ab93..2dc445ee16e9a961c52e2db9b40d55fd2e48c805 100644
(file)
--- a/
fio.h
+++ b/
fio.h
@@
-238,9
+238,10
@@
struct thread_data {
* Rate state
*/
uint64_t rate_bps[DDIR_RWDIR_CNT];
* Rate state
*/
uint64_t rate_bps[DDIR_RWDIR_CNT];
-
long rate_pending_usleep
[DDIR_RWDIR_CNT];
+
unsigned long rate_next_io_time
[DDIR_RWDIR_CNT];
unsigned long rate_bytes[DDIR_RWDIR_CNT];
unsigned long rate_blocks[DDIR_RWDIR_CNT];
unsigned long rate_bytes[DDIR_RWDIR_CNT];
unsigned long rate_blocks[DDIR_RWDIR_CNT];
+ unsigned long rate_io_issue_bytes[DDIR_RWDIR_CNT];
struct timeval lastrate[DDIR_RWDIR_CNT];
/*
struct timeval lastrate[DDIR_RWDIR_CNT];
/*
@@
-433,6
+434,7
@@
extern char *trigger_file;
extern char *trigger_cmd;
extern char *trigger_remote_cmd;
extern long long trigger_timeout;
extern char *trigger_cmd;
extern char *trigger_remote_cmd;
extern long long trigger_timeout;
+extern char *aux_path;
extern struct thread_data *threads;
extern struct thread_data *threads;
@@
-481,6
+483,7
@@
extern int ioengine_load(struct thread_data *);
extern int parse_dryrun(void);
extern int fio_running_or_pending_io_threads(void);
extern int fio_set_fd_nonblocking(int, const char *);
extern int parse_dryrun(void);
extern int fio_running_or_pending_io_threads(void);
extern int fio_set_fd_nonblocking(int, const char *);
+extern void sig_show_status(int sig);
extern uintptr_t page_mask;
extern uintptr_t page_size;
extern uintptr_t page_mask;
extern uintptr_t page_size;
@@
-517,6
+520,7
@@
enum {
TD_FINISHING,
TD_EXITED,
TD_REAPED,
TD_FINISHING,
TD_EXITED,
TD_REAPED,
+ TD_LAST,
};
extern void td_set_runstate(struct thread_data *, int);
};
extern void td_set_runstate(struct thread_data *, int);
@@
-665,13
+669,19
@@
extern const char *fio_get_arch_string(int);
extern const char *fio_get_os_string(int);
#ifdef FIO_INTERNAL
extern const char *fio_get_os_string(int);
#ifdef FIO_INTERNAL
-#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#define FIELD_SIZE(s, f) (sizeof(((typeof(s))0)->f))
#endif
enum {
#endif
enum {
- FIO_OUTPUT_TERSE = 0,
- FIO_OUTPUT_JSON,
- FIO_OUTPUT_NORMAL,
+ __FIO_OUTPUT_TERSE = 0,
+ __FIO_OUTPUT_JSON = 1,
+ __FIO_OUTPUT_NORMAL = 2,
+ FIO_OUTPUT_NR = 3,
+
+ FIO_OUTPUT_TERSE = 1U << __FIO_OUTPUT_TERSE,
+ FIO_OUTPUT_JSON = 1U << __FIO_OUTPUT_JSON,
+ FIO_OUTPUT_NORMAL = 1U << __FIO_OUTPUT_NORMAL,
};
enum {
};
enum {