projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
init: add global 'warned' state
[fio.git]
/
debug.h
diff --git
a/debug.h
b/debug.h
index b55a1e4dc7d76d3c17e660288441ffb255960942..68a5adca268e6b331433ffa58183c44b3b45ed67 100644
(file)
--- a/
debug.h
+++ b/
debug.h
@@
-2,6
+2,7
@@
#define FIO_DEBUG_H
#include <assert.h>
#define FIO_DEBUG_H
#include <assert.h>
+#include "lib/types.h"
#include "log.h"
enum {
#include "log.h"
enum {
@@
-19,10
+20,24
@@
enum {
FD_PROFILE,
FD_TIME,
FD_NET,
FD_PROFILE,
FD_TIME,
FD_NET,
+ FD_RATE,
+ FD_COMPRESS,
+ FD_STEADYSTATE,
+ FD_HELPERTHREAD,
FD_DEBUG_MAX,
};
FD_DEBUG_MAX,
};
-extern unsigned int fio_debug_jobno, *fio_debug_jobp;
+extern unsigned int fio_debug_jobno, *fio_debug_jobp, *fio_warned;
+
+static inline bool fio_did_warn(unsigned int mask)
+{
+ if (!(*fio_warned & mask)) {
+ *fio_warned |= mask;
+ return true;
+ }
+
+ return false;
+}
#ifdef FIO_INC_DEBUG
struct debug_level {
#ifdef FIO_INC_DEBUG
struct debug_level {
@@
-35,7
+50,7
@@
extern struct debug_level debug_levels[];
extern unsigned long fio_debug;
extern unsigned long fio_debug;
-void __dprint(int type, const char *str, ...);
+void __dprint(int type, const char *str, ...)
__attribute__((format (printf, 2, 3)))
;
#define dprint(type, str, args...) \
do { \
#define dprint(type, str, args...) \
do { \