X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=options.h;h=6805b314125a96778e44e8d222720b1346ff651b;hp=fa015c393ea24bb9ff2be3361b7ba91ac50d16a3;hb=8e093781f7995bb77ba0dca2835567a8a88972ec;hpb=a8523a6ae6ce7beafcfa75c4f0b9226e2ab17139 diff --git a/options.h b/options.h index fa015c39..6805b314 100644 --- a/options.h +++ b/options.h @@ -18,14 +18,25 @@ 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); +int set_name_idx(char *, size_t, char *, int); + +extern char client_sockaddr_str[]; /* used with --client option */ 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) \ - __fio_option_is_set((__td), td_var_offset(name)) +#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 *); @@ -106,6 +117,7 @@ enum opt_category_group { __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), @@ -137,6 +149,7 @@ enum opt_category_group { 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), };