X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=options.c;h=bdf358204197b7ad1ed40bf6c2a749c2403c229c;hb=cdd5411e02b05f5c9fd305a0f07f58e3abef4d5e;hp=6dd74ed42732aff997a41ecdeee08d5e09cfac33;hpb=85bc833bed3fa58c177df65f1d6cf40af85cb10b;p=fio.git diff --git a/options.c b/options.c index 6dd74ed4..bdf35820 100644 --- a/options.c +++ b/options.c @@ -3,7 +3,6 @@ #include #include #include -#include #include #include #include @@ -441,6 +440,16 @@ static int str_verify_cpus_allowed_cb(void *data, const char *input) } #endif +#ifdef FIO_HAVE_TRIM +static int str_verify_trim_cb(void *data, unsigned long long *val) +{ + struct thread_data *td = data; + + td->o.trim_percentage = *val; + return 0; +} +#endif + static int str_fst_cb(void *data, const char *str) { struct thread_data *td = data; @@ -964,6 +973,11 @@ static struct fio_option options[FIO_MAX_OPTS] = { { .ival = "guasi", .help = "GUASI IO engine", }, +#endif +#ifdef FIO_HAVE_BINJECT + { .ival = "binject", + .help = "binject direct inject block engine", + }, #endif { .ival = "external", .help = "Load external engine (append name)", @@ -1459,7 +1473,7 @@ static struct fio_option options[FIO_MAX_OPTS] = { .type = FIO_OPT_INT, .off1 = td_var_offset(verify_batch), .help = "Verify this number of IO blocks", - .parent = "verify_backlog", + .parent = "verify", }, #ifdef FIO_HAVE_CPU_AFFINITY { @@ -1469,6 +1483,39 @@ static struct fio_option options[FIO_MAX_OPTS] = { .help = "Set CPUs allowed for async verify threads", .parent = "verify_async", }, +#endif +#ifdef FIO_HAVE_TRIM + { + .name = "trim_percentage", + .type = FIO_OPT_INT, + .cb = str_verify_trim_cb, + .maxval = 100, + .help = "Number of verify blocks to discard/trim", + .parent = "verify", + .def = "0", + }, + { + .name = "trim_verify_zero", + .type = FIO_OPT_INT, + .help = "Verify that trim/discarded blocks are returned as zeroes", + .off1 = td_var_offset(trim_zero), + .parent = "trim_percentage", + .def = "1", + }, + { + .name = "trim_backlog", + .type = FIO_OPT_STR_VAL, + .off1 = td_var_offset(trim_backlog), + .help = "Trim after this number of blocks are written", + .parent = "trim_percentage", + }, + { + .name = "trim_backlog_batch", + .type = FIO_OPT_INT, + .off1 = td_var_offset(trim_batch), + .help = "Trim this number of IO blocks", + .parent = "trim_percentage", + }, #endif { .name = "write_iolog", @@ -1482,6 +1529,21 @@ static struct fio_option options[FIO_MAX_OPTS] = { .off1 = td_var_offset(read_iolog_file), .help = "Playback IO pattern from file", }, + { + .name = "replay_no_stall", + .type = FIO_OPT_INT, + .off1 = td_var_offset(no_stall), + .def = "0", + .parent = "read_iolog", + .help = "Playback IO pattern file as fast as possible without stalls", + }, + { + .name = "replay_redirect", + .type = FIO_OPT_STR_STORE, + .off1 = td_var_offset(replay_redirect), + .parent = "read_iolog", + .help = "Replay all I/O onto this device, regardless of trace device", + }, { .name = "exec_prerun", .type = FIO_OPT_STR_STORE,