X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.h;h=36fd35d2f6e72ed67f316b8fe4c317f89b751eff;hp=852ccae101efe6a1184efe48109e20175b76e2fa;hb=cf3b23e4c09a57a949aa2c61e3fa8cf8e671b086;hpb=e90a0adf85f75a65c02b22ba3766dff0d9d82ae6 diff --git a/options.h b/options.h index 852ccae1..36fd35d2 100644 --- a/options.h +++ b/options.h @@ -17,6 +17,26 @@ void add_opt_posval(const char *, const char *, const char *); void del_opt_posval(const char *, const char *); struct thread_data; void fio_options_free(struct thread_data *); +char *get_name_idx(char *, int); +int set_name_idx(char *, char *, int); + +extern struct fio_option fio_options[FIO_MAX_OPTS]; + +extern int __fio_option_is_set(struct thread_options *, unsigned int off); + +#define fio_option_is_set(__td, name) \ +({ \ + const unsigned int off = td_var_offset(name); \ + int __r = __fio_option_is_set((__td), off); \ + if (__r == -1) { \ + dprint(FD_PARSE, "option %s/%u not found in map\n", \ + __fio_stringify(name), off); \ + __r = 0; \ + } \ + __r; \ +}) + +extern void fio_option_mark_set(struct thread_options *, struct fio_option *); static inline int o_match(struct fio_option *o, const char *opt) { @@ -91,7 +111,10 @@ enum opt_category_group { __FIO_OPT_G_E4DEFRAG, __FIO_OPT_G_NETIO, __FIO_OPT_G_LIBAIO, - __FIO_OPT_G_TIOPROF, + __FIO_OPT_G_ACT, + __FIO_OPT_G_LATPROF, + __FIO_OPT_G_RBD, + __FIO_OPT_G_GFAPI, __FIO_OPT_G_NR, FIO_OPT_G_RATE = (1U << __FIO_OPT_G_RATE), @@ -119,8 +142,16 @@ enum opt_category_group { FIO_OPT_G_E4DEFRAG = (1U << __FIO_OPT_G_E4DEFRAG), FIO_OPT_G_NETIO = (1U << __FIO_OPT_G_NETIO), FIO_OPT_G_LIBAIO = (1U << __FIO_OPT_G_LIBAIO), - FIO_OPT_G_TIOPROF = (1U << __FIO_OPT_G_TIOPROF), + FIO_OPT_G_ACT = (1U << __FIO_OPT_G_ACT), + FIO_OPT_G_LATPROF = (1U << __FIO_OPT_G_LATPROF), + FIO_OPT_G_RBD = (1U << __FIO_OPT_G_RBD), + FIO_OPT_G_GFAPI = (1U << __FIO_OPT_G_GFAPI), FIO_OPT_G_INVALID = (1U << __FIO_OPT_G_NR), }; +extern struct opt_group *opt_group_from_mask(unsigned int *mask); +extern struct opt_group *opt_group_cat_from_mask(unsigned int *mask); +extern struct fio_option *fio_option_find(const char *name); +extern unsigned int fio_get_kb_base(void *); + #endif