fio.git
8 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 6 Jul 2011 18:13:27 +0000 (20:13 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

8 years agoAdd --max-jobs/-j command line option
Jens Axboe [Wed, 6 Jul 2011 18:12:54 +0000 (20:12 +0200)]
Add --max-jobs/-j command line option

And shrink OSX max default number of jobs supported. OSX has,
by default, a very small shared memory segment available.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix for terminating threads in ramp time
Jens Axboe [Wed, 6 Jul 2011 07:05:31 +0000 (09:05 +0200)]
Fix for terminating threads in ramp time

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoMake smalloc use anonymous memory mmaps
Jens Axboe [Wed, 29 Jun 2011 07:50:08 +0000 (09:50 +0200)]
Make smalloc use anonymous memory mmaps

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agopatch from debian fio package to fix syntax errors in manpage.
Martin Steigerwald [Mon, 27 Jun 2011 14:07:24 +0000 (16:07 +0200)]
patch from debian fio package to fix syntax errors in manpage.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoman page: fix incorrect description for disable_clat option
Steven Noonan [Wed, 22 Jun 2011 07:47:09 +0000 (09:47 +0200)]
man page: fix incorrect description for disable_clat option

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd ability to invoke fallocate() FALLOC_FL_KEEP_SIZE.
Eric Gouriou [Fri, 17 Jun 2011 07:11:45 +0000 (09:11 +0200)]
Add ability to invoke fallocate() FALLOC_FL_KEEP_SIZE.

Linux offers fallocate() and the FALLOC_FL_KEEP_SIZE option as
an alternative to posix_fallocate(). When FALLOC_FL_KEEP_SIZE is
specified for an falloc request going beyond the end of the file,
the requested blocks get preallocated without changing the apparent
size of the file. This is is a commonly recommended use of fallocate()
for workloads performing append writes.

This patch modifies the fallocate option from a boolean option
to a string option accepting none/posix/keep/0/1. 'keep' is only
made available on systems where FALLOC_FL_KEEP_SIZE is available
(i.e., Linux at this time). If specified, fallocate() is used
with FALLOC_FL_KEEP_SIZE set. 'none' disables pre-allocation while
'posix' uses posix_fallocate(). The default behavior remains unchaned,
i.e., invoking posix_fallocate. The settings '0'/'1' are there to
provide backward compatibility for users who had explicitly set the
boolean option.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix fill_device with queue depth higher than 1
Steven Lang [Mon, 13 Jun 2011 07:47:36 +0000 (09:47 +0200)]
Fix fill_device with queue depth higher than 1

I found an interesting combination of using fill_device when the
iodepth is greater than 1.  All outstanding IO causes an ENOSPC error,
but only the first is treated specially.  The remainder come through
and cause an error exit condition when the IO queue is being cleared.
So it is impossible to use deep IO with fill device.

This patch should fix the issue.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFixup wrong enum used for __check_min_rate()
Steven Lang [Fri, 3 Jun 2011 19:15:50 +0000 (21:15 +0200)]
Fixup wrong enum used for __check_min_rate()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix Makefile depend issue
Michael Zappe [Wed, 1 Jun 2011 18:15:18 +0000 (20:15 +0200)]
Fix Makefile depend issue

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.55 fio-1.55
Jens Axboe [Thu, 26 May 2011 18:57:30 +0000 (20:57 +0200)]
Fio 1.55

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Tue, 24 May 2011 19:36:35 +0000 (21:36 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

8 years agoSilence gcc 4.6 warnings
Jens Axboe [Tue, 24 May 2011 19:36:24 +0000 (21:36 +0200)]
Silence gcc 4.6 warnings

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix overlap io_u into outside regions
Jens Axboe [Tue, 24 May 2011 09:26:16 +0000 (11:26 +0200)]
Fix overlap io_u into outside regions

Test case is a job file ala this:

[global]
ioengine=posixaio
direct=0
filename=testfile
iodepth=128
size=50M
loops=10000000000
group_reporting=1
readwrite=randwrite
do_verify=1
verify=md5
verify_fatal=1
numjobs=1
thread
bsrange=4k:1M

[thread0]
offset=0G

[thread1]
offset=50M

[thread2]
offset=100M

[thread3]
offset=150M

[thread4]
offset=200M

[thread5]
offset=250M

[thread6]
offset=300M

[thread7]
offset=350M

where io_u units from threadN ends up crossing into the zone of threadN+1.
This is due to using file->real_file_size as the boundary check for the
buffer length, where the offset itself is correctly calculated. When
using mixed block sizes, this can cause a blocksize larger than the
minimum size to span into the next region.

Fix this by using file->io_size + offset as the end delimeter. Also
improve the logic of dropping to a smaller allowed block size if we do
end up being close to spanning into the next region.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agosplice: use ->o.memalign to indicate we want aligned buffers
Jens Axboe [Fri, 13 May 2011 19:19:25 +0000 (21:19 +0200)]
splice: use ->o.memalign to indicate we want aligned buffers

Vasilis Liaskovitis reports:

---

I am trying to use the splice ioengine to read/write from/to tmpfs (/dev/shm).

Writing works fine e.g. with the following fio config:
[sw]
rw=write
size=1g
directory=/dev/shm
iodepth=32
direct=0
blocksize=512k
numjobs=1
nrfiles=1
ioengine=splice
loops=1
group_reporting
create_on_open=1
create_serialize=0

But reading the same file afterwards with the splice ioengine fails:
[sw]
rw=read
size=1g
directory=/dev/shm
iodepth=32
direct=0
blocksize=512k
numjobs=1
nrfiles=1
ioengine=splice
loops=1
group_reporting

root@server1:~/fio# ./fio  /root/fior_splice.fio
sw: (g=0): rw=read, bs=512K-512K/512K-512K, ioengine=splice, iodepth=32
fio 1.53
Starting 1 process
fio: pid=17504, err=22/file:filesetup.c:502,
func=open(/dev/shm/sw.1.0), error=Invalid argument
Run status group 0 (all jobs):

Is something misconfigured in the fio read config?
The --debug=all output is:

Starting 1 process
file     17517 setup files
file     17517 get file size for 0x7f2f87451028/0/0x7f2f87451108
diskutil 17517 /dev/shm/sw.1.0 belongs to maj/min 0/17
process  17517 pid=0: runstate 0 -> 1
process  17517 will fork
mutex    17517 wait on startup_mutex
process  17519 jobs pid=17519 started
process  17519 pid=17519: runstate 1 -> 2
mutex    17519 up startup_mutex
mutex    17519 wait on td->mutex
mutex    17517 done waiting on startup_mutex
process  17517 pid=17519: runstate 2 -> 4
mutex    17519 done waiting on td->mutex
mem      17519 Alloc 16777216 for buffers
[...]
file     17519 trying file /dev/shm/sw.1.0 10
file     17519 fd open /dev/shm/sw.1.0
file     17519 file not found in hash /dev/shm/sw.1.0
file     17519 get file /dev/shm/sw.1.0, ref=0
io       17519 invalidate cache /dev/shm/sw.1.0: 0/1073741824
file     17519 fd close /dev/shm/sw.1.0
file     17519 error 1 on open of /dev/shm/sw.1.0
file     17519 get_next_file_rr: (nil)
fio: pid=17519, got signal=11
process  17517 pid=17519: runstate 4 -> 9
process  17517 terminate group_id=-1
process  17517 setting terminate on sw/17519
diskutil 17517 update io ticks

Other fio ioengines (sync, vsync) work fine for both reading/writing
on tmpfs. Also, other splice tests can do both reads and writes to
tmpfs (e.g. splice-cp).

This happens with current fio-master or fio-1.38-1 (debian package)
thanks for any comments,

---

The reason is that splice uses ->o.odirect to set that we want aligned
buffers, but we actually have a flag for that now. So just use that.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.54 fio-1.54
Jens Axboe [Thu, 12 May 2011 18:06:57 +0000 (20:06 +0200)]
Fio 1.54

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix crash on specifying bad IO engine on the command line
Jens Axboe [Thu, 12 May 2011 08:14:57 +0000 (10:14 +0200)]
Fix crash on specifying bad IO engine on the command line

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agowindowsaio: fix race condition between IOCP and queue functions
Bruce Cran [Thu, 12 May 2011 08:06:10 +0000 (10:06 +0200)]
windowsaio: fix race condition between IOCP and queue functions

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoCast l_opts string names to char *
Jens Axboe [Wed, 11 May 2011 11:28:30 +0000 (13:28 +0200)]
Cast l_opts string names to char *

Avoids warning on Solaris

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoRevert "Constify l_opts strings"
Jens Axboe [Wed, 11 May 2011 11:27:38 +0000 (13:27 +0200)]
Revert "Constify l_opts strings"

This reverts commit e7d841768b8b6d5e081134e6e2f04f43ac870348.

8 years agoEnsure we quit on SIGTERM
Jens Axboe [Wed, 11 May 2011 11:23:01 +0000 (13:23 +0200)]
Ensure we quit on SIGTERM

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoConstify l_opts strings
Jens Axboe [Wed, 11 May 2011 06:20:21 +0000 (08:20 +0200)]
Constify l_opts strings

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFix signed int/long truncation on 32-bit architectures
Jens Axboe [Wed, 11 May 2011 06:15:18 +0000 (08:15 +0200)]
Fix signed int/long truncation on 32-bit architectures

With using our internal random generator, we generate
unsigned ints. But by mistake this was assigned to
a signed long, that doesn't work so well on 32-bit machines.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.53 fio-1.53
Jens Axboe [Thu, 5 May 2011 18:07:24 +0000 (12:07 -0600)]
Fio 1.53

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoRevert "parser: get rid of useless is_time variable"
Jens Axboe [Thu, 5 May 2011 18:05:10 +0000 (12:05 -0600)]
Revert "parser: get rid of useless is_time variable"

This reverts commit 1a1137d9ba2603e295aaac579777ab0d3524faa6.

8 years agoExit with error on signal
Jens Axboe [Thu, 5 May 2011 14:17:03 +0000 (08:17 -0600)]
Exit with error on signal

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agosscanf fixup
Bruce Cran [Thu, 5 May 2011 14:14:09 +0000 (08:14 -0600)]
sscanf fixup

I noticed that a job of:

[sequential write at  1k block size.]

Gets reported as "sequentia".

I think we need to use %255[^\n] in sscanf instead.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agowindowsaio: skip uncompleted requests
Bruce Cran [Thu, 5 May 2011 14:13:37 +0000 (08:13 -0600)]
windowsaio: skip uncompleted requests

Windows sometimes gives us an IO request which hasn't completed yet,
which we need to ignore.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoWindows fixes
Bruce Cran [Wed, 4 May 2011 13:54:13 +0000 (07:54 -0600)]
Windows fixes

- Fix XP support: get pointer to CancelIoEx at runtime.
- Fix overlapped IO.
- Don't use overlapped IO if direct or synchronous options are set.
- Check if write option is set before opening file in read-only mode:
  fixes 'rw=rw'.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoConvert left-over manual ->runstate setting to td_set_runstate()
Jens Axboe [Mon, 2 May 2011 19:14:26 +0000 (13:14 -0600)]
Convert left-over manual ->runstate setting to td_set_runstate()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoBump max job count to 2048
Jens Axboe [Mon, 2 May 2011 19:05:02 +0000 (13:05 -0600)]
Bump max job count to 2048

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoSwitch mutex to using anonymous mmap
Jens Axboe [Mon, 2 May 2011 16:10:56 +0000 (10:10 -0600)]
Switch mutex to using anonymous mmap

We don't need an fd backing for this, saves on file descriptors
in use.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoFio 1.52 fio-1.52
Jens Axboe [Fri, 29 Apr 2011 09:40:06 +0000 (11:40 +0200)]
Fio 1.52

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd space between -m and 755 for install
Jens Axboe [Fri, 29 Apr 2011 06:24:10 +0000 (08:24 +0200)]
Add space between -m and 755 for install

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoRemove solaris posix_memalign() helper
Jens Axboe [Mon, 25 Apr 2011 18:49:45 +0000 (20:49 +0200)]
Remove solaris posix_memalign() helper

Not used in core code anymore.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoAdd simple aligned alloc helper
Jens Axboe [Mon, 25 Apr 2011 18:46:58 +0000 (20:46 +0200)]
Add simple aligned alloc helper

We don't have posix_memalign() on some Solaris and Darwin, so just
add a poor mans implementation of it. Outside of arch code where
we have proper posix_memalign(), this is only used to ensure good
alignment of the io_u in the core code.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoos-mac.h: implement fio_set_odirect()
Steven Noonan [Sat, 23 Apr 2011 06:08:13 +0000 (23:08 -0700)]
os-mac.h: implement fio_set_odirect()

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
8 years agoos-mac.h: implement blockdev_size()
Steven Noonan [Sat, 23 Apr 2011 06:07:46 +0000 (23:07 -0700)]
os-mac.h: implement blockdev_size()

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoSwitch all random generators to be decided by use_os_rand
Jens Axboe [Mon, 28 Mar 2011 07:51:09 +0000 (09:51 +0200)]
Switch all random generators to be decided by use_os_rand

This includes file sizing, next file, block size selection,
trim state, and verify state.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoSwitch the latter part of the offset generation to __rand() too
Jens Axboe [Mon, 28 Mar 2011 07:37:41 +0000 (09:37 +0200)]
Switch the latter part of the offset generation to __rand() too

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoSwitch to using our internal Tausworthe based random generator for offsets
Jens Axboe [Mon, 28 Mar 2011 07:35:09 +0000 (09:35 +0200)]
Switch to using our internal Tausworthe based random generator for offsets

It's both faster and more exhaustive than what is available on
glibc on my test systems. So no downsides, and the upside of having
the same offset generator across all platforms.

This will change the random series, so could alter performance for
your workload since the pattern will be different in sequence. There's
an option to revert to the OS generator, you can add use_us_rand=1
on your job files to retain the old generator offsets.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix parser bug dealing with range options and postfix
Jens Axboe [Sun, 27 Mar 2011 18:55:09 +0000 (20:55 +0200)]
Fix parser bug dealing with range options and postfix

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoGet rid of mixed rw and verify warning
Jens Axboe [Sun, 27 Mar 2011 18:53:39 +0000 (20:53 +0200)]
Get rid of mixed rw and verify warning

Should workd fine.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoparser: get rid of useless is_time variable
Jens Axboe [Sun, 27 Mar 2011 18:43:20 +0000 (20:43 +0200)]
parser: get rid of useless is_time variable

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix unsigned integer overflow in IO buffer allocator
Jens Axboe [Fri, 25 Mar 2011 20:36:28 +0000 (21:36 +0100)]
Fix unsigned integer overflow in IO buffer allocator

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.51 fio-1.51
Jens Axboe [Tue, 22 Mar 2011 13:33:04 +0000 (14:33 +0100)]
Fio 1.51

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix linking of fio executable
Diego Elio Pettenò [Mon, 21 Mar 2011 19:13:53 +0000 (20:13 +0100)]
Fix linking of fio executable

First of all make sure that $(LDFLAGS) are used during linking so that the
user can set the linker's flags.

Then also make sure that libraries are listed after the objects, so that
GNU ld's --as-needed option will not cause fio linking to fail.

Cc: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd support for giving multiple --section options
Jens Axboe [Fri, 11 Mar 2011 09:16:17 +0000 (10:16 +0100)]
Add support for giving multiple --section options

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWindows: add missing files needed for msi build
Bruce Cran [Fri, 28 Jan 2011 07:41:42 +0000 (08:41 +0100)]
Windows: add missing files needed for msi build

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoReinstate unified Makefile
Bruce Cran [Fri, 28 Jan 2011 07:39:09 +0000 (08:39 +0100)]
Reinstate unified Makefile

Don't use ifeq statements.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50.2 fio-1.50.2
Jens Axboe [Thu, 27 Jan 2011 21:26:29 +0000 (22:26 +0100)]
Fio 1.50.2

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix end-of-job slowdown for random IO with a random map
Jens Axboe [Thu, 27 Jan 2011 21:25:29 +0000 (22:25 +0100)]
Fix end-of-job slowdown for random IO with a random map

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoKill flist_sort from Makefiles
Jens Axboe [Thu, 27 Jan 2011 21:25:02 +0000 (22:25 +0100)]
Kill flist_sort from Makefiles

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRevert "Unify makefiles"
Jens Axboe [Thu, 27 Jan 2011 21:23:48 +0000 (22:23 +0100)]
Revert "Unify makefiles"

This reverts commit 7d130d8d2a5638ca91dc81ec085acef4d3c3ad08.

It requires make 3.81, and some popular distros are still using
make 3.80.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agosolaris: OpenSolaris already has the madvise advice defined
Jens Axboe [Thu, 27 Jan 2011 09:10:07 +0000 (10:10 +0100)]
solaris: OpenSolaris already has the madvise advice defined

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50.1 fio-1.50.1
Jens Axboe [Wed, 26 Jan 2011 20:44:29 +0000 (21:44 +0100)]
Fio 1.50.1

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Wed, 26 Jan 2011 19:52:52 +0000 (20:52 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio

9 years agosolaris: char dev size fixes
Jens Axboe [Wed, 26 Jan 2011 19:43:50 +0000 (20:43 +0100)]
solaris: char dev size fixes

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50 fio-1.50
Jens Axboe [Tue, 25 Jan 2011 15:18:08 +0000 (16:18 +0100)]
Fio 1.50

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMove version logging
Jens Axboe [Tue, 25 Jan 2011 12:06:16 +0000 (13:06 +0100)]
Move version logging

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemove flist_sort(), it's no longer used
Jens Axboe [Mon, 24 Jan 2011 20:53:27 +0000 (21:53 +0100)]
Remove flist_sort(), it's no longer used

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoUnify makefiles
Bruce Cran [Mon, 24 Jan 2011 20:52:23 +0000 (21:52 +0100)]
Unify makefiles

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agommap: catch invalid msync() errors early
Jens Axboe [Sat, 22 Jan 2011 22:11:13 +0000 (15:11 -0700)]
mmap: catch invalid msync() errors early

Reported-by: Bruce Cran <bruce@cran.org.uk>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that we exit with non-zero status on IO engine load failure
Jens Axboe [Sat, 22 Jan 2011 22:11:03 +0000 (15:11 -0700)]
Ensure that we exit with non-zero status on IO engine load failure

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc4 fio-1.50-rc4
Jens Axboe [Thu, 20 Jan 2011 17:17:35 +0000 (10:17 -0700)]
Fio 1.50-rc4

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd fill_fs alias for fill_device
Jens Axboe [Thu, 20 Jan 2011 17:16:03 +0000 (10:16 -0700)]
Add fill_fs alias for fill_device

Name implies that it works on a device, which isn't quite correct.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoExpand on fill_device option since it apparently causes confusion
Jens Axboe [Wed, 19 Jan 2011 22:35:26 +0000 (15:35 -0700)]
Expand on fill_device option since it apparently causes confusion

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoGet rid of shadow declarations
Jens Axboe [Wed, 19 Jan 2011 21:04:16 +0000 (14:04 -0700)]
Get rid of shadow declarations

Reported-by: Bruce Cran <bruce@cran.org.uk>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoDefine OS preferred IO engine
Jens Axboe [Wed, 19 Jan 2011 18:09:58 +0000 (11:09 -0700)]
Define OS preferred IO engine

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix merge error hiding mmap ioengine under Windows build
Jens Axboe [Wed, 19 Jan 2011 18:07:28 +0000 (11:07 -0700)]
Fix merge error hiding mmap ioengine under Windows build

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemove version number from Windows MSI file
Bruce Cran [Wed, 19 Jan 2011 17:42:31 +0000 (10:42 -0700)]
Remove version number from Windows MSI file

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRe-tab some parts of README
Bruce Cran [Wed, 19 Jan 2011 17:41:48 +0000 (10:41 -0700)]
Re-tab some parts of README

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd instructions for building and running the Windows version of fio to README
Bruce Cran [Wed, 19 Jan 2011 17:41:10 +0000 (10:41 -0700)]
Add instructions for building and running the Windows version of fio to README

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoRemember to initialize return value in fixup_options()
Jens Axboe [Wed, 19 Jan 2011 05:33:02 +0000 (22:33 -0700)]
Remember to initialize return value in fixup_options()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMultiple jobs and verify will not fail if do_verify=0
Jens Axboe [Tue, 18 Jan 2011 12:41:39 +0000 (05:41 -0700)]
Multiple jobs and verify will not fail if do_verify=0

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that short command line options work
Jens Axboe [Tue, 18 Jan 2011 12:22:22 +0000 (05:22 -0700)]
Ensure that short command line options work

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCorrect check to o->numjobs > 1 for verify warning
Jens Axboe [Mon, 17 Jan 2011 23:51:46 +0000 (16:51 -0700)]
Correct check to o->numjobs > 1 for verify warning

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd --warnings-fatal/-w option
Jens Axboe [Mon, 17 Jan 2011 23:49:54 +0000 (16:49 -0700)]
Add --warnings-fatal/-w option

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoClean io_u->buf_filled_len in io_u_fill_buffer()
Jens Axboe [Sun, 16 Jan 2011 15:32:08 +0000 (08:32 -0700)]
Clean io_u->buf_filled_len in io_u_fill_buffer()

Not a bug as such, but it could be if we used it in other
locations in the future. So better be safe.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoStreamline pattern/meta verifies instead of special casing them
Jens Axboe [Fri, 14 Jan 2011 20:20:42 +0000 (21:20 +0100)]
Streamline pattern/meta verifies instead of special casing them

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc3 fio-1.50-rc3
Jens Axboe [Fri, 14 Jan 2011 19:51:54 +0000 (20:51 +0100)]
Fio 1.50-rc3

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCleanup some verify bits
Jens Axboe [Fri, 14 Jan 2011 19:51:37 +0000 (20:51 +0100)]
Cleanup some verify bits

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoPrint error if max number of jobs is exceeded
Bruce Cran [Fri, 14 Jan 2011 17:30:26 +0000 (18:30 +0100)]
Print error if max number of jobs is exceeded

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEta/disk thread uses more than the minimum stack
Jens Axboe [Fri, 14 Jan 2011 17:29:19 +0000 (18:29 +0100)]
Eta/disk thread uses more than the minimum stack

Causes crashes on FreeBSD. Just kill it, it's only really
important on the threads we potentially create tons of.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoComment out ->buf_filled_len in pattern fill
Jens Axboe [Fri, 14 Jan 2011 14:32:30 +0000 (15:32 +0100)]
Comment out ->buf_filled_len in pattern fill

It's buggy, needs to be debugged. Disable for now. It can cause
verify failures.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFix race in exit of eta/util thread
Jens Axboe [Fri, 14 Jan 2011 14:22:14 +0000 (15:22 +0100)]
Fix race in exit of eta/util thread

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMake sure that pattern verifies also dump contents
Jens Axboe [Fri, 14 Jan 2011 13:49:20 +0000 (14:49 +0100)]
Make sure that pattern verifies also dump contents

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoChange disk util / eta method from signal to thread
Jens Axboe [Fri, 14 Jan 2011 13:14:58 +0000 (14:14 +0100)]
Change disk util / eta method from signal to thread

We used a thread based signal, but that causes a thread to
get created and killed every 250msecs. Lets just setup a
dedicated thread for this.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWe need libgen.h for basename()
Jens Axboe [Fri, 14 Jan 2011 11:41:15 +0000 (12:41 +0100)]
We need libgen.h for basename()

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoCorrect basename usage for verify dump
Jens Axboe [Thu, 13 Jan 2011 17:57:54 +0000 (18:57 +0100)]
Correct basename usage for verify dump

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoFio 1.50-rc2 fio-1.50-rc2
Jens Axboe [Wed, 12 Jan 2011 08:07:44 +0000 (09:07 +0100)]
Fio 1.50-rc2

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoDon't double print version when invoked with --version
Jens Axboe [Wed, 12 Jan 2011 08:07:15 +0000 (09:07 +0100)]
Don't double print version when invoked with --version

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoAdd verify_dump option to control whether to dump bad/good blocks or not
Jens Axboe [Wed, 12 Jan 2011 08:03:23 +0000 (09:03 +0100)]
Add verify_dump option to control whether to dump bad/good blocks or not

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoEnsure that random_seed is also added to dummy io_buf for dumping
Jens Axboe [Wed, 12 Jan 2011 07:59:12 +0000 (08:59 +0100)]
Ensure that random_seed is also added to dummy io_buf for dumping

Now everything verifies correctly.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoPretty up the good/bad block verify dumping
Jens Axboe [Wed, 12 Jan 2011 07:31:54 +0000 (08:31 +0100)]
Pretty up the good/bad block verify dumping

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoWhen verify fails, dump the good/bad blocks to files
Jens Axboe [Tue, 11 Jan 2011 21:16:49 +0000 (22:16 +0100)]
When verify fails, dump the good/bad blocks to files

This makes it easy to compare afterwards to see what kind of
corruption was experienced.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoUpdate Windows version
Jens Axboe [Mon, 10 Jan 2011 19:43:42 +0000 (20:43 +0100)]
Update Windows version

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
9 years agoMerge branch 'winfio'
Jens Axboe [Mon, 10 Jan 2011 19:40:47 +0000 (20:40 +0100)]
Merge branch 'winfio'

9 years agoMerge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Mon, 10 Jan 2011 19:21:02 +0000 (20:21 +0100)]
Merge branch 'master' of ssh://router/data/git/fio

9 years agoFio 1.50-rc1 fio-1.50-rc1
Jens Axboe [Mon, 10 Jan 2011 19:20:38 +0000 (20:20 +0100)]
Fio 1.50-rc1

Now that we have Windows support pretty much done, lets rev
the version.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>