blktrace: add support for non-native endian format

The blktrace format is stored in the native endianness of
the machine it is run on. So to reply traces on a machine
with a different endianness, we need to swap the trace
fields. Detect and do this automatically.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Error out gracefully if we don't find the replay device for log replay

It would segfault before because no files got added to replay
against. Handle this more gracefully and ensure that fio exits
with a non-zero exit status.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Windows: add CONFIG_TLS_THREAD=y and swap pthreadGC2 to libwinpthread-1.

Since GCC 4.4, MinGW has supported TLS via the __thread keyword, so
generate config-host.mak with CONFIG_TLS_THREAD=y.

MinGW now uses a new threading library libwinpthread-1.dll: install it
instead of pthreadGC2.dll.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
init: allow FIO_OPT_STR_SET options to have an optional argument

Makes them work like a bool.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
init: escape description option string

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Calloc() cleanup

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add options to have fio latency profile a device

This adds three new options:

- latency_target. This defines a specific latency target, in usec.
- latency_window. This defines the period over which fio samples.
- latency_percentile. This defines the percentage of IOs that must
  meet the criteria specified by latency_target/latency_window.

With these options set, fio will run the described workload and
vary the queue depth between 1 and iodepth= to find the best
performing spot that meets the criteria specified by the three
options.

A sample job file is also added to demonstrate how to use this.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Make configure tests pass pickier compiler options.

Signed-off-by: Castor Fu <castor@alumni.caltech.edu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add OpenBSD support

I managed to make a clean compile and a few test runs using the
attached patches.

These work on OpenBSD 5.4 at least.  I used the 2.1.4 release of
fio as a basis.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
libfio: add missing OS's to fio_os_strings[]

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Update README to reflect that fio now runs on OpenBSD

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add option to manually seed the random generators

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Add option for specifically setting buffer contents

Fio can use zeroes, slightly scrambled data, full random data,
or specifically compressible data. With this option, the user
can now fully control the pattern written, similarly to how
verify_pattern works for verify=meta.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
server: convert buffer pattern settings across client/server

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Fix potential oops in file unlocking at free time

Signed-off-by: Jens Axboe <axboe@kernel.dk>
engine: basic support for IPv6 in the net IO engine

Adds 'tcpv6' and 'udpv6' protocol entries.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
engine: IPv6 net engine updates

Signed-off-by: Jens Axboe <axboe@kernel.dk>
engine: pass in right protocol family on host lookup

Signed-off-by: Jens Axboe <axboe@kernel.dk>
server: make the connect code fully IPv6

Signed-off-by: Jens Axboe <axboe@kernel.dk>