X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.h;h=2cf435a06e2868ab8ba84bee60bd9a53116bf7a7;hp=de9f6109fa1b474e72a1b60df667f99f7455735d;hb=44cc9c8fccd1862045ef029dc9a484c4a2e46731;hpb=bcbfeefa7bce8383cf85fe59ced91f54821dfbd2 diff --git a/options.h b/options.h index de9f6109..2cf435a0 100644 --- a/options.h +++ b/options.h @@ -22,6 +22,22 @@ 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) { if (!strcmp(o->name, opt)) @@ -98,6 +114,8 @@ enum opt_category_group { __FIO_OPT_G_ACT, __FIO_OPT_G_LATPROF, __FIO_OPT_G_RBD, + __FIO_OPT_G_GFAPI, + __FIO_OPT_G_MTD, __FIO_OPT_G_NR, FIO_OPT_G_RATE = (1U << __FIO_OPT_G_RATE), @@ -128,6 +146,8 @@ enum opt_category_group { 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_MTD = (1U << __FIO_OPT_G_MTD), FIO_OPT_G_INVALID = (1U << __FIO_OPT_G_NR), };