Jens Axboe [Mon, 30 Oct 2006 12:32:08 +0000 (13:32 +0100)]
[PATCH] Potential overflow and unused variable
'tmpbuf' was unused. Limit [name] entry to 255 chars to avoid
overflowing the buffer.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 30 Oct 2006 11:35:18 +0000 (12:35 +0100)]
[PATCH] Move the other parameter fixup code into fixup_options()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 30 Oct 2006 11:23:41 +0000 (12:23 +0100)]
[PATCH] Don't put_job() on def_thread
It's not accounted.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 30 Oct 2006 11:21:25 +0000 (12:21 +0100)]
[PATCH] Typo: jobname is 'val', not 'opt'
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 30 Oct 2006 08:03:13 +0000 (09:03 +0100)]
[PATCH] Add support for multiple jobs on the command line
Give --name the special meaning of starting a new job (and adding
the previous). Now the command line is just as powerful as the
job files.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 13:00:16 +0000 (15:00 +0200)]
[PATCH] Fix modification of const string
Copy 'ptr' to local storage first.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 12:36:26 +0000 (14:36 +0200)]
[PATCH] FIO_OPT_RANGE breakage
After terminating the first string, remember to reset the pointer to the
beginning of the string.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 12:27:39 +0000 (14:27 +0200)]
[PATCH] Options must be integer
Make all char options integers, to avoid having to introduce a
char parse type.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 11:43:22 +0000 (13:43 +0200)]
[PATCH] Add full command line parameter support
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>
Jens Axboe [Fri, 27 Oct 2006 09:33:01 +0000 (11:33 +0200)]
[PATCH] parse cleanups
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 09:30:07 +0000 (11:30 +0200)]
[PATCH cpu io threads need not have lots of stuff setup
Everything that has to do with io can be skipped.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 09:24:25 +0000 (11:24 +0200)]
[PATCH] Improve io logging
write_iolog was broken. Change iolog= to read_iolog= to keep things
nicely seperated.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 09:10:18 +0000 (11:10 +0200)]
[PATCH] Fixup iolog config setting
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 27 Oct 2006 08:54:08 +0000 (10:54 +0200)]
[PATCH] Abstract option handling
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>
Jens Axboe [Fri, 27 Oct 2006 08:45:12 +0000 (10:45 +0200)]
[PATCH] libaio sign error
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 26 Oct 2006 11:48:34 +0000 (13:48 +0200)]
[PATCH] Split config name parse functions into parse.c
The plan is to add command line options that mirror the config options,
so fio will be easier to script.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 25 Oct 2006 11:08:57 +0000 (13:08 +0200)]
[PATCH] Update HOWTO
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 25 Oct 2006 09:21:05 +0000 (11:21 +0200)]
[PATCH] Use posix_fallocate() to force file layout
Dunno how well this works on all filesystems, but at least it's
a good hint to send wrt fragmentation and layout.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 25 Oct 2006 09:08:19 +0000 (11:08 +0200)]
[PATCH] Add HOWTO
This file contains more detailed usage information, and a fuller
description of the job file parameters.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 25 Oct 2006 07:16:07 +0000 (09:16 +0200)]
[PATCH] ->queue() error handling
We return 1/0 for failure/success and put the error in io_u->error.
The libaio engine didn't quite do that.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 17:42:44 +0000 (19:42 +0200)]
[PATCH] README updates
Put related options closer together.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 17:38:15 +0000 (19:38 +0200)]
[PATCH] Make ->buflen == 0 on SYNC io_u's
It eases the error handling in the splice and sync io engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 17:05:53 +0000 (19:05 +0200)]
[PATCH] Document filename= option
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 13:11:09 +0000 (15:11 +0200)]
[PATCH] License update
We target GPL v2 exclusively. Also note that this covers all files
distributed with fio, not just fio.c itself.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 12:54:44 +0000 (14:54 +0200)]
[PATCH] Move td_io_sync()
It's not an io engine operation anymore, so move it to fio.c, make
it static, and rename it to fio_io_sync().
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 12:46:13 +0000 (14:46 +0200)]
[PATCH] mmap io engine had broken sync
It returned from ->queue() too quickly, it still needs to set the
last event handler.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 12:41:26 +0000 (14:41 +0200)]
[PATCH] Implement file syncing as data direction
Instead of defining a seperate ->sync() operation for the io engine,
reuse the io_u infrastructure for committing and reaping sync
events as well. It's a nice cleanup as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 10:17:57 +0000 (12:17 +0200)]
[PATCH] Shrink io_u a little
->index and ->seen can share the same space, they are both io engine
private.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 08:31:37 +0000 (10:31 +0200)]
[PATCH] f->fileno is not used
Remove it
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 08:27:38 +0000 (10:27 +0200)]
[PATCH] Only unlink the same file once
If filename= is used, make sure we only do the unlink() once.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 07:33:42 +0000 (09:33 +0200)]
[PATCH] Revert some of the leak fixes
If the options are given as part of the global thread, the others
inherit the memory and thus cannot free it. Since it doesn't matter
a lot (we are talking a few hundred bytes), just leave the memory
as-is.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Oct 2006 07:29:45 +0000 (09:29 +0200)]
[PATCH] Add option to specify the exact file used
Fio typically just makes up a filename for a job, but sometimes you want
to explicitly reuse the same file for multiple jobs. Add a filename=
option to cater to that.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 12:00:36 +0000 (14:00 +0200)]
[PATCH] Plug a few more leaks
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 11:54:47 +0000 (13:54 +0200)]
[PATCH] Be nicer about cleaning up allocated memory
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 09:48:33 +0000 (11:48 +0200)]
[PATCH] Sanity check ops on loaded io engine
We require certain handlers to be there, or fio will either
malfunction or crash.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 09:41:03 +0000 (11:41 +0200)]
[PATCH] Move related code next to each other
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 09:39:27 +0000 (11:39 +0200)]
[PATCH] Split the io_u io handling out of fio.c
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 09:25:52 +0000 (11:25 +0200)]
[PATCH] Split out the memory handling from fio.c
In the process also fix some bugs in the memory pinning.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 09:00:14 +0000 (11:00 +0200)]
[PATCH] disk zone example needs write_bw_log
Less confusing now, since you can just run the job file. Before you
needed to know that -w was needed for the job to be meaningful.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 08:59:19 +0000 (10:59 +0200)]
[PATCH] Add bw/lat log as job options
Currently you need to specify -l or -w, make them available as
a job config option as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 08:36:42 +0000 (10:36 +0200)]
[PATCH] More size fixes
Clean it up so that the create/non-create/bdev paths are the same
to avoid further problems in this area.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 08:14:01 +0000 (10:14 +0200)]
[PATCH] Fixup io size on block devices
Still leftover bugs from the > 1 file per job changes.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 07:33:18 +0000 (09:33 +0200)]
[PATCH] Add for_each_td()
Similar to for_each_file(), just iterates over each td we know about.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 07:20:11 +0000 (09:20 +0200)]
[PATCH] Only the posixaio engine needs to link against -lrt
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 07:15:46 +0000 (09:15 +0200)]
[PATCH] Cleanup iolog handling
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 20 Oct 2006 07:07:46 +0000 (09:07 +0200)]
[PATCH] Automatically adjust iodepth for nr_files
If iodepth isn't directly specified, allocate 1 io_u per file to
avoid serializing the workload. If iodepth is specified, use whatever
value was given as previously.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 19 Oct 2006 18:50:14 +0000 (20:50 +0200)]
[PATCH] File creation and info fixes
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 19 Oct 2006 18:37:12 +0000 (20:37 +0200)]
[PATCH] Total io size / eta fix
Inadvertently the files were counted twice, hence ETA ended at 50%.
This was also the real bug for the verify ETA fixed a few days ago,
so reinstate the proper check when doing verifies as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 19 Oct 2006 18:26:22 +0000 (20:26 +0200)]
[PATCH] Fix a bunch of bugs
- engines/fio-engine-libaio.o needs to link against -laio and fio need not
anymore. This caused funky crashes with libaio io engine.
- Fix a few bugs in the libaio engine.
- Only do sync/cleanup in do_io() if we exit without error.
- ->io_ops may be NULL in reap_threads(), if the job exited.
- Allocate io engine, don't reuse the dlopen() object.
- Overlapping sprintf() in init_disk_util().
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 19 Oct 2006 06:48:32 +0000 (08:48 +0200)]
Merge branch 'master' of ssh://router/data/git/fio
Jens Axboe [Wed, 18 Oct 2006 15:21:58 +0000 (17:21 +0200)]
[PATCH] Make io engines -W clean
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 15:16:23 +0000 (17:16 +0200)]
[PATCH] Make fio -W clean again
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 14:03:40 +0000 (16:03 +0200)]
[PATCH] Sync and invalidate cache prior to running verify
Make sure we re-read the contents from disk, not from memory.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:47:42 +0000 (15:47 +0200)]
[PATCH] More verify code move
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:43:15 +0000 (15:43 +0200)]
[PATCH] Split out the verify io parts
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:37:01 +0000 (15:37 +0200)]
[PATCH] Split status/eta code out of fio.c
All in the name of making the code base easier to go through.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:26:44 +0000 (15:26 +0200)]
[PATCH] Cleanup the io engine methods
Always use td_io_#name so that it's clear that we are calling
into the io engine.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:14:35 +0000 (15:14 +0200)]
[PATCH] Verify eta time fix
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 13:06:22 +0000 (15:06 +0200)]
[PATCH] mmap: fix bug introduced with the io engine split
We never initialized the mmap area, because it forgot
to get FIO_MMAPIO.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 12:16:42 +0000 (14:16 +0200)]
[PATCH] Add support for unlinking io files
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 12:10:42 +0000 (14:10 +0200)]
[PATCH Various fixes
- Multiple files fixes
- Fix for unaligned io issued for raw io
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Oct 2006 09:50:58 +0000 (11:50 +0200)]
[PATCH] First cut at supporting > 1 file per job
This is likely very buggy, a simple test works though.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 13 Oct 2006 09:06:13 +0000 (09:06 +0000)]
[PATCH] engines/Makefile should use -g as well
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 12 Oct 2006 05:55:41 +0000 (07:55 +0200)]
[PATCH] Fix segfault if ioengine isn't set
Don't do it in the ioengine_cb callback, it needs to be done
unconditionally.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 10 Oct 2006 06:30:24 +0000 (08:30 +0200)]
[PATCH] Allow io engine to do the file setup
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 9 Oct 2006 17:56:04 +0000 (19:56 +0200)]
[PATCH] Don't hardcode ioengine path
Use the prefix in the Makefile, so it can be packaged properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 9 Oct 2006 14:19:29 +0000 (16:19 +0200)]
[PATCH] engines/Makefile had extra LIBS line
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 9 Oct 2006 14:11:45 +0000 (16:11 +0200)]
[PATCH] Remember to check ioops version in loaded module
It could be for an older version of fio, reject failed version.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 9 Oct 2006 14:01:27 +0000 (16:01 +0200)]
[PATCH] Fixup failure to load io engine object logging
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 9 Oct 2006 13:57:48 +0000 (15:57 +0200)]
[PATCH] Separate io engines into separate loadable objects
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 5 Oct 2006 11:44:15 +0000 (13:44 +0200)]
[PATCH] Fix compile on hosts that have the splice stuff included
Newer distros (FC6-test3 at least) do have the splice syscall and
flag definitions, so check for that in os-linux.h
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 14 Sep 2006 07:48:22 +0000 (09:48 +0200)]
[PATCH] Basic support for a cpu cycle eater job
This will allow you to put some cpu load on the box, while other
threads are doing IO.
Jens Axboe [Tue, 5 Sep 2006 08:46:22 +0000 (10:46 +0200)]
[PATCH] email update
Jens Axboe [Thu, 24 Aug 2006 06:44:26 +0000 (08:44 +0200)]
[PATCH] Correct command line parsing
It worked if you used -t10, but not -t 10. Correct the idx++ usage to
just match optind instead, then things just work.
Problem reported by "Randy.Dunlap" <rdunlap@xenotime.net>
Randy.Dunlap [Thu, 24 Aug 2006 06:39:05 +0000 (08:39 +0200)]
[PATCH] Drop "-f jobfile" from usage help
Jens Axboe [Wed, 16 Aug 2006 13:17:21 +0000 (15:17 +0200)]
[PATCH] libaio returns long, not int
Jens Axboe [Fri, 28 Jul 2006 13:05:34 +0000 (15:05 +0200)]
[PATCH] Only print eta when we have nr_running > 0
Jens Axboe [Mon, 17 Jul 2006 16:15:41 +0000 (18:15 +0200)]
[PATCH] Use lstat() instead of stat() in sysfs lookup
Otherwise we cannot detect the symlinks, and the directory
lookup will get into an infinite loop.
Jens Axboe [Thu, 13 Jul 2006 21:36:02 +0000 (14:36 -0700)]
[PATCH] Fix timout variable setting
By mistake, it assigned the temporary timeout to ull, but
set ->timeout to ul1.
Jens Axboe [Thu, 13 Jul 2006 17:33:45 +0000 (10:33 -0700)]
[PATCH] Fixup nice() return value and duplicate volatiles
Jens Axboe [Tue, 11 Jul 2006 07:11:07 +0000 (09:11 +0200)]
[PATCH] Get _syscallX() functions from <linux/unistd.h>
Jens Axboe [Fri, 16 Jun 2006 08:00:50 +0000 (10:00 +0200)]
[PATCH] Remove redundant -f job option
It just confuses the job file setup.
Jens Axboe [Tue, 13 Jun 2006 12:53:38 +0000 (14:53 +0200)]
[PATCH] Stonewalling wasn't properly done in some circumstances
We don't want to stonewall individual jobs in a file, but that
happened inadvertently with the multi file change. Get it right,
stonewall the first job in all files except the first.
Jens Axboe [Tue, 13 Jun 2006 07:38:36 +0000 (09:38 +0200)]
[PATCH fio-1.5
Jens Axboe [Tue, 13 Jun 2006 07:37:56 +0000 (09:37 +0200)]
[PATCH] Various little fixes and lots of commenting
Jens Axboe [Tue, 13 Jun 2006 07:11:18 +0000 (09:11 +0200)]
[PATCH] Remove last remnants of file extending
Jens Axboe [Mon, 12 Jun 2006 13:21:44 +0000 (15:21 +0200)]
[PATCH] Always create full file, don't extend
Jens Axboe [Mon, 12 Jun 2006 13:17:03 +0000 (15:17 +0200)]
[PATCH] Pass full required size into create_file()
Jens Axboe [Mon, 12 Jun 2006 12:56:43 +0000 (14:56 +0200)]
[PATCH] Fix non-overwrite bug
Jens Axboe [Mon, 12 Jun 2006 09:04:44 +0000 (11:04 +0200)]
[PATCH] Add option for terse parseable output
Jens Axboe [Mon, 12 Jun 2006 08:40:03 +0000 (10:40 +0200)]
[PATCH] Don't hide submission latency numbers, even if they are 0.
Jens Axboe [Mon, 12 Jun 2006 08:28:06 +0000 (10:28 +0200)]
[PATCH] Check and error for graph generation if gnuplot isn't available
Jens Axboe [Mon, 12 Jun 2006 08:23:28 +0000 (10:23 +0200)]
[PATCH] Update usage() text to match options
Jens Axboe [Mon, 12 Jun 2006 08:21:50 +0000 (10:21 +0200)]
[PATCH] Remove the old job command line options
It's all possible to specify in the job file.
Jens Axboe [Fri, 9 Jun 2006 09:37:28 +0000 (11:37 +0200)]
[PATCH] Make it easier to match up filename and job number
Jens Axboe [Fri, 9 Jun 2006 09:28:10 +0000 (11:28 +0200)]
[PATCH] Misc: stall progress ouput during file creation, ini_file frees.
Jens Axboe [Fri, 9 Jun 2006 09:08:56 +0000 (11:08 +0200)]
[PATCH] Add support for giving multiple job files
Jens Axboe [Fri, 9 Jun 2006 08:14:54 +0000 (10:14 +0200)]
[PATCH] Documentation updates
Jens Axboe [Thu, 8 Jun 2006 19:48:46 +0000 (21:48 +0200)]
[PATCH] When logging to a file, stderr should go both to stderr and file
Jens Axboe [Thu, 8 Jun 2006 19:40:11 +0000 (21:40 +0200)]
[PATCH] Enable output logging to file instead of stdout