4 #define FIO_MAX_OPTS 512
10 #define td_var_offset(var) ((size_t) &((struct thread_options *)0)->var)
12 int add_option(struct fio_option *);
13 void invalidate_profile_options(const char *);
14 extern char *exec_profile;
16 void add_opt_posval(const char *, const char *, const char *);
17 void del_opt_posval(const char *, const char *);
19 void fio_options_free(struct thread_data *);
21 extern struct fio_option fio_options[FIO_MAX_OPTS];
23 static inline int o_match(struct fio_option *o, const char *opt)
25 if (!strcmp(o->name, opt))
27 else if (o->alias && !strcmp(o->alias, opt))
33 static inline struct fio_option *find_option(struct fio_option *options,
38 for (o = &options[0]; o->name; o++)
55 __FIO_OPT_G_IO_DDIR = 4,
56 __FIO_OPT_G_IO_BUF = 5,
60 __FIO_OPT_G_VERIFY = 9,
63 __FIO_OPT_G_ZONE = 12,
64 __FIO_OPT_G_CACHE = 13,
65 __FIO_OPT_G_STAT = 14,
70 FIO_OPT_G_DESC = (1U << __FIO_OPT_G_DESC),
71 FIO_OPT_G_FILE = (1U << __FIO_OPT_G_FILE),
72 FIO_OPT_G_MISC = (1U << __FIO_OPT_G_MISC),
73 FIO_OPT_G_IO = (1U << __FIO_OPT_G_IO),
74 FIO_OPT_G_IO_DDIR = (1U << __FIO_OPT_G_IO_DDIR),
75 FIO_OPT_G_IO_BUF = (1U << __FIO_OPT_G_IO_BUF),
76 FIO_OPT_G_RAND = (1U << __FIO_OPT_G_RAND),
77 FIO_OPT_G_OS = (1U << __FIO_OPT_G_OS),
78 FIO_OPT_G_MEM = (1U << __FIO_OPT_G_MEM),
79 FIO_OPT_G_VERIFY = (1U << __FIO_OPT_G_VERIFY),
80 FIO_OPT_G_CPU = (1U << __FIO_OPT_G_CPU),
81 FIO_OPT_G_LOG = (1U << __FIO_OPT_G_LOG),
82 FIO_OPT_G_ZONE = (1U << __FIO_OPT_G_ZONE),
83 FIO_OPT_G_CACHE = (1U << __FIO_OPT_G_CACHE),
84 FIO_OPT_G_STAT = (1U << __FIO_OPT_G_STAT),
85 FIO_OPT_G_ERR = (1U << __FIO_OPT_G_ERR),
86 FIO_OPT_G_JOB = (1U << __FIO_OPT_G_JOB),
87 FIO_OPT_G_INVALID = (1U << __FIO_OPT_G_NR),
90 extern struct opt_group *opt_group_from_mask(unsigned int *mask);