Age | Commit message (Collapse) | Author |
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
This is closer to where it needs to end up. No ext_options, just
include profile options in the general option table (and mark them
private for that profile).
Profile options are only available after loading a specific profile,
so there should be less confusion.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Not complete yet, we need to split option parsing for profiles a
bit.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Currently the parser assumes the storage is inside a thread_data
structure.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Start of support for real profiles.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
When I run fio with lots of files on a disk, parameter filename's length
is more than 1024 and tail filenames are cut.
Below is a patch to increase OPT_LEN_MAX to 4096.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
This allows us to individually verify options, instead of having
a big function that attempts to fix things up.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It's treated the same as FIO_OPT_INT since we got rid of the
int vs siint distinction.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Strings of the form ${VARNAME} in config option strings are substituted with
the value of the environment variable VARNAME. Only the right hand side of
an option assignment undergoes substitution. If VARNAME is empty or
undefined, the empty string is substituted.
Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
For instance, filename= must come after directory= or things will
go wrong. So add a priority value to each option, so that the parser
will take that into account.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
From the HOWTO addition:
bssplit=str Sometimes you want even finer grained control of the
block sizes issued, not just an even split between them.
This option allows you to weight various block sizes,
so that you are able to define a specific amount of
block sizes issued. The format for this option is:
bssplit=blocksize/percentage:blocksize/percentage
for as many block sizes as needed. So if you want to define
a workload that has 50% 64k blocks, 10% 4k blocks, and
40% 32k blocks, you would write:
bssplit=4k/10:64k/50:32k/40
Ordering does not matter. If the percentage is left blank,
fio will fill in the remaining values evenly. So a bssplit
option like this one:
bssplit=4k/50:1k/:32k/
would have 50% 4k ios, and 25% 1k and 32k ios. The percentages
always add up to 100, if bssplit is given a range that adds
up to more, it will error out.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
We don't need ->parent_seen, just start from the next option.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It only displayed the first found. Add a ->parent_seen and
find all matches.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Then we can nest display for --cmdhelp=all, to tie options
together.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
If no match is found, print the closest. Quite handy when
you can't quite remember the exact option name.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Eliminates the need for a callback for any FIO_OPT_STR type
option, unless it needs to do something there other than just
setting the variable.
The possible options are not in an array of value pairs, so we
can easily match an string option with an integer output value.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Change the default from O_DIRECT IO to normal buffered IO. That makes
more sense, as O_DIRECT is a special case and should be manually
enabled as such.
Do this by adding a option negate switch, so we don't need two sets
of parameters to control these options.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Runtime is a more descriptive name - the documentation is updated
as well, however the parsing has added an alias functionality to
support older names as well. So 'timeout' still works.
Also rearrange option entries, now they matter because the --cmdhelp
option will print them in order.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
We can automatically flag those with min/max values.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Helpful to avoid looking in the documentation.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It set .name twice, the last one was supposed to be .help instead.
Also kill options->opt_set, it's not used.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It's handy for the help text, and it also cleans up init.c by removing
a bunch of default option defines.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
It's hard to remember all the options that fio supports, so add a
'cmdhelp' option that either prints all possible options (if argument
is 'all'), or specific option help (if argument is the command).
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Get rid of read_bs/write_bs and read_bsrange/write_bsrange. It was ugly
and too complicated. Instead support giving both values in a single bs=
or bsrange= seperated by a comma.
Example: bs=1k,4k will use 1k blocks for reads, 4k blocks for writes.
bs=32k will use 32k blocks for both reads and writes.
Similar for bsrange=
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
The type needs to match strictly, or we get into problems on big
endian architectures.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
You may now give full job options on the command line. Makes it easier
to script fio or for one-off runs, as you don't have to write a job file
and run that.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
Instead of parsing manually, we abstract out everything so parse.[ch] is
now a generic config file parser. This is the next step towards unifying
command and job options.
I'm sure I broke plenty of options in the process...
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|