Bruce Cran [Thu, 16 Dec 2010 10:03:22 +0000 (11:03 +0100)]
Use -pthread instead of -lpthread on FreeBSD
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Bruce Cran [Thu, 16 Dec 2010 07:52:42 +0000 (08:52 +0100)]
Get rid of other-OS headers in .depend
It looks like blktrace_api.h is being parsed through the depend rule
in Makefile.[FreeBSD|NetBSD|mac] due to the headers being listed in
$(SOURCE) - gcc just ignores missing <> headers while clang generates an
error as it builds the dependency list. Since headers which are
included within source files will be listed as a dependency anyway, I
think they can be removed from $(SOURCE).
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 15 Dec 2010 09:34:08 +0000 (10:34 +0100)]
Fio 1.44.3
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Bruce Cran [Wed, 15 Dec 2010 09:33:03 +0000 (10:33 +0100)]
FreeBSD build broken due to missing -lrt
The latest fio fails to link on FreeBSD because timer_create is in
librt but the -lrt flag is missing from Makefile.FreeBSD.
I also noticed a couple of compiler warnings when building with clang -
a format of "%Lu" is used but 'L' doesn't have any effect with 'u' - I
guess %llu is needed since the types are 'unsigned long long'?
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by Steven Pratt [Tue, 14 Dec 2010 07:31:36 +0000 (08:31 +0100)]
fix ramp_in
There are a couple of problems with the relatively new ramp_in feature
of fio. First, the estimated time to completion did not correctly take
it into account and bounces around. Second and more importantly, the
runtime was including ramp in time in throughput calculations even
though the IO done during that time was ignored, thus making throughput
metrics incorrect. This patch fixes both.
Signed-off-by Steven Pratt <slpratt@austin.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Dec 2010 19:05:37 +0000 (20:05 +0100)]
Sync HOWTO iodepth option with man page
Also add a note on other restrictions that may cause lower IO depth
than expected.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Sebastian Kayser [Wed, 1 Dec 2010 21:28:47 +0000 (22:28 +0100)]
fio.1: Add ioengines heads up to the iodepth section
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 30 Nov 2010 19:49:24 +0000 (20:49 +0100)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Sebastian Kayser [Tue, 30 Nov 2010 19:49:18 +0000 (20:49 +0100)]
Add additional references to binary packages
This adds a couple of references to binary fio packages for Linux distros as
well as for Solaris.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 25 Nov 2010 07:21:39 +0000 (08:21 +0100)]
nrfiles vs nr_files mixups
The man page references nr_files, the real option is nrfiles.
Change man page and add nr_files alias to nrfiles.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Sebastian Kayser [Wed, 24 Nov 2010 12:27:03 +0000 (13:27 +0100)]
Makefile.solaris: install man pages
This patch brings Makefile.solaris in sync with the other Makefiles.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 23 Nov 2010 10:12:39 +0000 (11:12 +0100)]
solaris: log error for failure to enable direct IO
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 11 Nov 2010 08:19:49 +0000 (09:19 +0100)]
Call path below SIGALRM isn't safe
We do allocations, open files, printf, etc from the SIGALRM signal
handler which gets run every 250 msecs. This isn't necessarily
safe and could deadlock. Move it to thread context instead.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 5 Nov 2010 13:02:01 +0000 (14:02 +0100)]
Fio 1.44.2
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 28 Oct 2010 14:52:13 +0000 (08:52 -0600)]
binject: ensure we get aligned memory
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 27 Oct 2010 15:24:54 +0000 (09:24 -0600)]
Update for proper binject ioctls
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 26 Oct 2010 14:10:58 +0000 (08:10 -0600)]
Update HOWTO as well for verify_backlog
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Tue, 26 Oct 2010 14:08:42 +0000 (08:08 -0600)]
Update verify_backlog documentation
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 22 Oct 2010 19:44:00 +0000 (21:44 +0200)]
Fio 1.44.1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 22 Oct 2010 19:43:45 +0000 (21:43 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Thu, 21 Oct 2010 06:15:59 +0000 (08:15 +0200)]
A few fixes for 32-bit compiles
- Change the HAVE_SSE to HAVE_SSE4_2 and only provide it on
x86-64.
- Cast two values that otherwise cause the compiler to warn on 32-bit
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 20 Oct 2010 09:14:57 +0000 (11:14 +0200)]
Fix segfault when passing in size < block_size
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 14 Oct 2010 18:04:40 +0000 (20:04 +0200)]
Merge branch 'master' of ssh://brick.kernel.dk/data/git/fio
Jens Axboe [Thu, 14 Oct 2010 12:34:05 +0000 (14:34 +0200)]
Fix compile warning on platforms with posix_fallocate
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 12 Oct 2010 06:59:47 +0000 (08:59 +0200)]
Kill -arch from OSX Makefile
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 11 Oct 2010 17:34:36 +0000 (19:34 +0200)]
binject: ctl cleanups
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 11 Oct 2010 17:26:33 +0000 (19:26 +0200)]
binject: fix missing includes for stat(2)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 8 Oct 2010 13:07:01 +0000 (15:07 +0200)]
Initial support for explicit write barriers
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 8 Oct 2010 13:06:33 +0000 (15:06 +0200)]
Add missing file.h f->file_data change
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 8 Oct 2010 12:53:58 +0000 (14:53 +0200)]
binject updates
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 8 Oct 2010 09:26:43 +0000 (11:26 +0200)]
binject: setup and teardown mappings internally
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 7 Oct 2010 08:31:16 +0000 (10:31 +0200)]
Fio 1.44
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Joss Grossman [Thu, 30 Sep 2010 01:51:42 +0000 (10:51 +0900)]
Fix compile on RHEL4/SLES10
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Adam DeBellins [Tue, 28 Sep 2010 04:22:55 +0000 (13:22 +0900)]
Fix bad setting of td->o.ddir_seq_nr in add_job()
This defaults to 1, but add_job() adds 1 again which means
that the random isn't always effective since every alternate
IO gets to bypass that logic.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 26 Sep 2010 01:53:40 +0000 (10:53 +0900)]
Use log_err() in the io engines
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 26 Sep 2010 01:46:55 +0000 (03:46 +0200)]
binject: correctly retrieve block size of device
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 24 Sep 2010 18:31:34 +0000 (20:31 +0200)]
Fio 1.44-rc1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 24 Sep 2010 17:36:34 +0000 (19:36 +0200)]
Don't add the file offset twice for trim
We added it when storing the io_piece, don't add it again
when calling trim.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:48:15 +0000 (08:48 +0200)]
Kill leftover debug printf() and re-format a long line
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:46:16 +0000 (08:46 +0200)]
Fix io_u depth array size
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Thu, 23 Sep 2010 06:38:17 +0000 (08:38 +0200)]
Add some comments around the terse output
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 12:56:23 +0000 (14:56 +0200)]
num2str fixes
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 07:35:34 +0000 (09:35 +0200)]
Implement a better num2str()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 16 Sep 2010 06:59:08 +0000 (08:59 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Wed, 15 Sep 2010 21:05:57 +0000 (23:05 +0200)]
Revert "Improvements for num2str()"
This reverts commit
ef5249d5e5f0bb5f0adfb182b1dbc988aee976de.
Jens Axboe [Wed, 15 Sep 2010 19:05:28 +0000 (21:05 +0200)]
Improvements for num2str()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 14 Sep 2010 11:10:35 +0000 (13:10 +0200)]
Add missing option type
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 14 Sep 2010 11:07:05 +0000 (13:07 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Wed, 8 Sep 2010 13:06:23 +0000 (15:06 +0200)]
binject: use WRITE, not WRITEZERO
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 7 Sep 2010 11:39:55 +0000 (13:39 +0200)]
Merge branch 'master' of ssh://router.home.kernel.dk/data/git/fio
Jens Axboe [Tue, 7 Sep 2010 11:28:58 +0000 (13:28 +0200)]
Add binject IO engine
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 7 Sep 2010 11:28:17 +0000 (13:28 +0200)]
Align memory buffers for RAW io engines
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 13:30:16 +0000 (15:30 +0200)]
Fixup bad format of replay_no_stall option
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:29:55 +0000 (13:29 +0200)]
Fix assert
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:23:20 +0000 (13:23 +0200)]
Trim/discard fixes
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 2 Sep 2010 11:22:56 +0000 (13:22 +0200)]
Fix libaio prep
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 1 Sep 2010 11:55:12 +0000 (13:55 +0200)]
Remove debug TRIM #error
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 1 Sep 2010 11:54:15 +0000 (13:54 +0200)]
Add verify trim support
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Tue, 31 Aug 2010 19:20:47 +0000 (21:20 +0200)]
Add support for redirection replay of blktrace traces to another device
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 27 Aug 2010 07:04:13 +0000 (09:04 +0200)]
Fio 1.43.2
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 27 Aug 2010 07:04:00 +0000 (09:04 +0200)]
Fix bug with probing block size
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 10:02:28 +0000 (12:02 +0200)]
Fio 1.43.1
The out-of-index deref and memory bugs could hit 1.43 as well
even without trim, it just made it more apparent. So tag a new
release.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 10:02:08 +0000 (12:02 +0200)]
Add support for replaying blktrace trim/discard
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:47:18 +0000 (10:47 +0200)]
Add missing types to io_u_log_error()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:35:02 +0000 (10:35 +0200)]
Add missing types to log_io_u()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:25:17 +0000 (10:25 +0200)]
Fix access of freed memory
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 08:23:51 +0000 (10:23 +0200)]
Bad style
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 07:02:07 +0000 (09:02 +0200)]
Fio 1.43
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 25 Aug 2010 07:01:25 +0000 (09:01 +0200)]
Mark "read_iolog" as a parent for "replay_no_stall"
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
David Nellans [Tue, 24 Aug 2010 20:13:30 +0000 (22:13 +0200)]
Add option to skip delays when replaying traces
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 24 Aug 2010 13:01:37 +0000 (15:01 +0200)]
Fix blktrace replay
We would add duplicate files, if the open event comes before
the add file event. Make sure we return the current index file
instead of adding a duplicate, this causes bad file lookups.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 15 Aug 2010 19:02:10 +0000 (15:02 -0400)]
Fio 1.43-rc1
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 15 Aug 2010 19:01:51 +0000 (15:01 -0400)]
Fixup misuse of get_cpu_clock()
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 20:14:56 +0000 (16:14 -0400)]
Add comment on why fallocate is disabled on AIX
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 15:13:56 +0000 (11:13 -0400)]
Update OS support line
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 14:29:12 +0000 (10:29 -0400)]
Cleanup MSG_DONTWAIT
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 12:03:20 +0000 (08:03 -0400)]
Bad indentation
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 11 Aug 2010 00:20:22 +0000 (20:20 -0400)]
AIX fixups
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 10 Aug 2010 23:54:32 +0000 (19:54 -0400)]
Add comment as to where getopt_long.c came from
Also fix the include path.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:51:11 +0000 (19:51 -0400)]
Add support for AIX
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:49:43 +0000 (19:49 -0400)]
Not all platforms have MSG_DONTWAIT
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:21:09 +0000 (19:21 -0400)]
Fix bad casting of unsigned long long to unsigned long
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Cigy Cyriac [Tue, 10 Aug 2010 23:18:11 +0000 (19:18 -0400)]
Add get_cpu_clock() for powerpc
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
bart Van Assche [Sun, 1 Aug 2010 19:31:26 +0000 (21:31 +0200)]
Reduce thread stack size
This patch reduces the stack size required by fio threads and hence allows
to run fio with 200 or more threads on systems with a moderate amount of
virtual memory.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Sun, 1 Aug 2010 19:27:28 +0000 (21:27 +0200)]
Reduce stack consumption in blktrace load
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 29 Jul 2010 08:52:43 +0000 (10:52 +0200)]
Fix leak when finding aliases in the log rbtree
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Thu, 29 Jul 2010 08:50:05 +0000 (10:50 +0200)]
Fix bad deref of memory in parser
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 20 Jul 2010 20:46:00 +0000 (14:46 -0600)]
Add rw_sequencer option
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 20 Jul 2010 18:03:25 +0000 (12:03 -0600)]
Rename ddir_nr -> ddir_seq_nr
Another mode will be added, so lets rename this one internally
to make the distinction clear.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 19 Jul 2010 22:19:55 +0000 (16:19 -0600)]
Initial commit for TRIM/DISCARD support
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Mon, 19 Jul 2010 22:18:35 +0000 (16:18 -0600)]
Have cscope look in subdirs too
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 23:39:52 +0000 (17:39 -0600)]
Fio 1.42
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Radha Ramachandran [Wed, 14 Jul 2010 23:39:05 +0000 (17:39 -0600)]
No need to use specific flag for io_u fill length
The fill length already provides that information.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 22:27:02 +0000 (16:27 -0600)]
Really fix broken option length check
Commit
7b4cb1320928bdea2360cf36fc45c83700052d43 matched the
string passed in, but that doesn't work for postfix values
appended.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 14 Jul 2010 06:42:03 +0000 (08:42 +0200)]
Turn io_u filled variable into a flag
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Radha Ramachandran [Wed, 14 Jul 2010 06:36:07 +0000 (08:36 +0200)]
Reuse filled pattern
I made changes to fio so we wld re-use the already populated io_u
buffer (when there is a non-random pattern) during writes. That way
only the header will be re-calculated for every I/O. This way the
buffer wld get populated in the beginning and as long as the
subsequent ios using the same io_u structure are writes and have same
or less block size, it wld get re-used. If any of the subsequent i/o
is a read or has a block size greater than the pre-filled one, then
the buffer is invalidated and will be re-filled at the next write.
Reason for this risky change: (Performance)
I tested this change on a tmpfs(with no swap backing), with the
following config file:
[sscan_write]
filename=/mytmpfs/datafile.tmp
rw=write
bs=64k
size=3G
ioengine=libaio
iodepth=1024
iodepth_low=512
runtime=10800
bwavgtime=5000
thread=1
do_verify=0
verify=meta
verify_pattern=0x55aaa55a
verify_interval=4k
continue_on_error=1
fio-1-41-6 gave 306MB/s and the new change had a performance of 1546MB/s
Side effects/Risks:
There is a risk with this fix, that if the buffer gets corrupted then
the subsequent writes will also be corrupt. I think for both
sequential writes and random writes (with verify, where the I/O log is
replayed) we shld be able to find the first I/O that started with the
corruption and if the buffer is getting corrupted, there are other
issues here.
Testing:
I have tested this fix with sequential write(verify)/random read write
mix combination(with verify).
I think I have taken care of most of the case, but please let me know
if there is anything I have missed. I have attached the patch along
with this email. I think the performance improvement outweighs the
risk associated with the fix. But I will let you decide if you wld
like to pick it up.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 9 Jul 2010 11:48:14 +0000 (13:48 +0200)]
Fio 1.41.6
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Fri, 9 Jul 2010 11:47:32 +0000 (13:47 +0200)]
Only flag sync_file_range() support for newer Linux versions
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Wed, 30 Jun 2010 13:22:21 +0000 (15:22 +0200)]
Update documentation on new terse format and add version number
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Jens Axboe [Tue, 29 Jun 2010 08:40:30 +0000 (10:40 +0200)]
Fix startdelay option with s/m/h/d postfix
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>