• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef FIO_OPT_GROUP_H
2 #define FIO_OPT_GROUP_H
3 
4 struct opt_group {
5 	const char *name;
6 	uint64_t mask;
7 };
8 
9 enum opt_category {
10 	__FIO_OPT_C_GENERAL	= 0,
11 	__FIO_OPT_C_IO,
12 	__FIO_OPT_C_FILE,
13 	__FIO_OPT_C_STAT,
14 	__FIO_OPT_C_LOG,
15 	__FIO_OPT_C_PROFILE,
16 	__FIO_OPT_C_ENGINE,
17 	__FIO_OPT_C_NR,
18 
19 	FIO_OPT_C_GENERAL	= (1ULL << __FIO_OPT_C_GENERAL),
20 	FIO_OPT_C_IO		= (1ULL << __FIO_OPT_C_IO),
21 	FIO_OPT_C_FILE		= (1ULL << __FIO_OPT_C_FILE),
22 	FIO_OPT_C_STAT		= (1ULL << __FIO_OPT_C_STAT),
23 	FIO_OPT_C_LOG		= (1ULL << __FIO_OPT_C_LOG),
24 	FIO_OPT_C_PROFILE	= (1ULL << __FIO_OPT_C_PROFILE),
25 	FIO_OPT_C_ENGINE	= (1ULL << __FIO_OPT_C_ENGINE),
26 	FIO_OPT_C_INVALID	= (1ULL << __FIO_OPT_C_NR),
27 };
28 
29 enum opt_category_group {
30 	__FIO_OPT_G_RATE	= 0,
31 	__FIO_OPT_G_ZONE,
32 	__FIO_OPT_G_RWMIX,
33 	__FIO_OPT_G_VERIFY,
34 	__FIO_OPT_G_TRIM,
35 	__FIO_OPT_G_IOLOG,
36 	__FIO_OPT_G_IO_DEPTH,
37 	__FIO_OPT_G_IO_FLOW,
38 	__FIO_OPT_G_DESC,
39 	__FIO_OPT_G_FILENAME,
40 	__FIO_OPT_G_IO_BASIC,
41 	__FIO_OPT_G_CGROUP,
42 	__FIO_OPT_G_RUNTIME,
43 	__FIO_OPT_G_PROCESS,
44 	__FIO_OPT_G_CRED,
45 	__FIO_OPT_G_CLOCK,
46 	__FIO_OPT_G_IO_TYPE,
47 	__FIO_OPT_G_THINKTIME,
48 	__FIO_OPT_G_RANDOM,
49 	__FIO_OPT_G_IO_BUF,
50 	__FIO_OPT_G_TIOBENCH,
51 	__FIO_OPT_G_ERR,
52 	__FIO_OPT_G_E4DEFRAG,
53 	__FIO_OPT_G_NETIO,
54 	__FIO_OPT_G_RDMA,
55 	__FIO_OPT_G_LIBAIO,
56 	__FIO_OPT_G_ACT,
57 	__FIO_OPT_G_LATPROF,
58         __FIO_OPT_G_RBD,
59         __FIO_OPT_G_GFAPI,
60         __FIO_OPT_G_MTD,
61 	__FIO_OPT_G_HDFS,
62 	__FIO_OPT_G_NR,
63 
64 	FIO_OPT_G_RATE		= (1ULL << __FIO_OPT_G_RATE),
65 	FIO_OPT_G_ZONE		= (1ULL << __FIO_OPT_G_ZONE),
66 	FIO_OPT_G_RWMIX		= (1ULL << __FIO_OPT_G_RWMIX),
67 	FIO_OPT_G_VERIFY	= (1ULL << __FIO_OPT_G_VERIFY),
68 	FIO_OPT_G_TRIM		= (1ULL << __FIO_OPT_G_TRIM),
69 	FIO_OPT_G_IOLOG		= (1ULL << __FIO_OPT_G_IOLOG),
70 	FIO_OPT_G_IO_DEPTH	= (1ULL << __FIO_OPT_G_IO_DEPTH),
71 	FIO_OPT_G_IO_FLOW	= (1ULL << __FIO_OPT_G_IO_FLOW),
72 	FIO_OPT_G_DESC		= (1ULL << __FIO_OPT_G_DESC),
73 	FIO_OPT_G_FILENAME	= (1ULL << __FIO_OPT_G_FILENAME),
74 	FIO_OPT_G_IO_BASIC	= (1ULL << __FIO_OPT_G_IO_BASIC),
75 	FIO_OPT_G_CGROUP	= (1ULL << __FIO_OPT_G_CGROUP),
76 	FIO_OPT_G_RUNTIME	= (1ULL << __FIO_OPT_G_RUNTIME),
77 	FIO_OPT_G_PROCESS	= (1ULL << __FIO_OPT_G_PROCESS),
78 	FIO_OPT_G_CRED		= (1ULL << __FIO_OPT_G_CRED),
79 	FIO_OPT_G_CLOCK		= (1ULL << __FIO_OPT_G_CLOCK),
80 	FIO_OPT_G_IO_TYPE	= (1ULL << __FIO_OPT_G_IO_TYPE),
81 	FIO_OPT_G_THINKTIME	= (1ULL << __FIO_OPT_G_THINKTIME),
82 	FIO_OPT_G_RANDOM	= (1ULL << __FIO_OPT_G_RANDOM),
83 	FIO_OPT_G_IO_BUF	= (1ULL << __FIO_OPT_G_IO_BUF),
84 	FIO_OPT_G_TIOBENCH	= (1ULL << __FIO_OPT_G_TIOBENCH),
85 	FIO_OPT_G_ERR		= (1ULL << __FIO_OPT_G_ERR),
86 	FIO_OPT_G_E4DEFRAG	= (1ULL << __FIO_OPT_G_E4DEFRAG),
87 	FIO_OPT_G_NETIO		= (1ULL << __FIO_OPT_G_NETIO),
88 	FIO_OPT_G_RDMA		= (1ULL << __FIO_OPT_G_RDMA),
89 	FIO_OPT_G_LIBAIO	= (1ULL << __FIO_OPT_G_LIBAIO),
90 	FIO_OPT_G_ACT		= (1ULL << __FIO_OPT_G_ACT),
91 	FIO_OPT_G_LATPROF	= (1ULL << __FIO_OPT_G_LATPROF),
92 	FIO_OPT_G_RBD		= (1ULL << __FIO_OPT_G_RBD),
93 	FIO_OPT_G_GFAPI		= (1ULL << __FIO_OPT_G_GFAPI),
94 	FIO_OPT_G_MTD		= (1ULL << __FIO_OPT_G_MTD),
95 	FIO_OPT_G_HDFS		= (1ULL << __FIO_OPT_G_HDFS),
96 	FIO_OPT_G_INVALID	= (1ULL << __FIO_OPT_G_NR),
97 };
98 
99 extern const struct opt_group *opt_group_from_mask(uint64_t *mask);
100 extern const struct opt_group *opt_group_cat_from_mask(uint64_t *mask);
101 
102 #endif
103