fio 1.12 released

From: Jens Axboe <>
Date: Tue, 27 Feb 2007 20:46:52 +0100


I've tagged and released fio 1.12, release on freshmeat will be posted

Grab it from or just git
update to fetch it.

Changes since 1.11:

Ingo Molnar (3):
      fio: syslet.h build fix
      fio: allow '#' comments

Jens Axboe (183):
      Add per-option help
      Complain if bad option given to 'cmdhelp'
      Move timeout structure where it is used
      Add default option values
      Fixup ratecycle option
      Reversed order of thinktime_blocks modulo operation
      Pretty up command help output
      Show allowed option values for string matching
      Introduce bool option type
      Option minval should be signed
      Be strict in checking option ranges
      Fix standard deviation calculation
      Merge branch 'master' of ssh://
      strtoul() -> strtol() conversion
      Implement a better mean and standard deviation calculation
      Thread option didn't work
      Change timeout to runtime and rearrange option entries
      Change O_DIRECT vs buffered setup
      Change output dev= to stdev=
      Pretty up option looping
      Warn if both option variable offset and callback given
      Move disk utilization setup to thread itself
      Revert "[PATCH] Move disk utilization setup to thread itself"
      Really fixup disk util init
      Abort early for bad option given to --cmdhelp
      Help: thinktime is in microseconds
      Update irange documentation
      Merge branch 'master' of ssh://router/data/git/fio
      Cleanup some output code
      Update HOWTO
      Properly shutdown in case of serious errors
      Improve rate functionality
      Fixup rate usec cycle calculation for small values
      Shorten 'commitrate' to 'CR'
      Remove the time init check
      Include io depth distribution statistics
      The last io depth entry is actually >= 64, not > 32
      Don't make file unlink the default
      Unlink write file if !overwrite and it exists
      Add support for writing aggregate bandwidth log
      Only generate global bandwidth log if write_bw_log set
      Fix typo
      Fix double free in sg engine error path
      Fix sg ioengine
      Add 'description' option
      Fix buffer alignment on non-4kb archs
      Rename io engines
      Simple support for networked IO
      Network engine updates
      Support for > 1 network connection
      Support residual io counts from io engines
      Document ->queue() in the skeleton engine
      Network io engine updates
      Network engine fixes
      Misc fixes
      Don't create files for engines that don't need them
      aio example should use O_DIRECT IO
      Remove SIGSEGV handler
      We should check system() return value
      Enable _FORTIFY_SOURCE and stack protector checking
      Improve dependency checking on builds
      Network engine cleanups and comments
      SG io engine: better handling of multiple files
      SG IO engine: remember to set io_u->file in init
      SG IO engine: reduce allocations and memory leaks
      Net engine typo
      CFLAGS: -fstack-protector doesn't work on older compilers
      Fix libaio engine SYNC
      libaio engine: fake work-around for sync issue
      Make the libaio fsync fallback really work
      Catch and print if directory= doesn't exist
      File size fix on NULL io engines
      Size parse should use strtoll()
      Random map fix
      More random map fixes
      Kill redundant header files
      Pretty up stat output
      Separate bandwidth log and rate display
      Fix stack overflow
      Allow thread/group dump regardless of error state
      Move td_verror() into io_ops->queue() hook
      Make ctrl-c work with network io and accept loop
      Document/comment fio.h
      Network engine poll() paranoia
      Sign warning
      One more round of random map fixes
      Total io is the sum of READ and WRITE
      Fix buflen trimming
      Add fio_assert()
      Woops, left debug clear in there
      Make the exit value meaningfull
      Random map needs to use ->real_file_size, not ->file_size
      Make fio_assert() core dump the job
      First cut syslet async io support
      Document syslet-rw engine
      Let the syslet ioengine register check supportability
      syslet engine: use pread instead lseek+read
      syslet: async_head_user struct should be permanent
      syslet: fix leak of ring and ahu
      syslet: code cleanup
      Make fio compile on non-x86 again
      Defer engine ops verification check
      Fixup file type recognition
      Fixup client error exit
      Fix random seed for numjobs > 1
      IO completion time histograms
      file descriptor is int
      Further improve child exit reaping
      Catch processes/threads that unexpectedly exited
      Don't check status if ret < 0
      Add thinktime_spin parameter
      Change IO engine queuing
      Fully parallellize io_u verification
      Unify and fixup error handling
      Cleanup end IO handling
      Differentiate between bool error return and real error value
      Add support for queuing > 1 command at the time
      Retrieve next file to service in get_io_u()
      Verify requeue handling
      Fix busy looping for io_u_queued_complete()
      Clean core files on make clean
      Missing clear of some IO state
      Be safe and re-prep requeue io_u's
      Update documentation wrt comment
      Use 0 timeout for command completion peek
      Improve submission latency calculation
      Update io_u.c comments
      Fix sync engine completion latency
      First step for group reporting
      Add low water mark for queuing depth
      Leftover debug message
      mmap IO engine cannot extend a file
      Static error value checking
      More __must_check annotations
      Makefile: libdir is not used anymore
      Change IO latency histogram to be in power-of-10
      64-bit compile warnings
      Fix double io_u free on error in do_verify()
      Don't overwrite error
      Correct io_u_*_complete() return checking
      Still need to put io_u on early exit
      syslet engine: style fix and ->queue() error return value fix
      No need to cast async_exec() syscall to void * anymore
      Track io_u state (free or in-flight)
      io_u timeout handling
      Include engines in dependency check
      Disable timeout handling for now
      Improve thread reap handling
      Thread waitpid() error check
      Fix crash on thread exit
      Further improve thread handling
      syslet: typo
      Don't check st_size for special files
      syslet: syscall still needs void * cast
      List syslet-rw as a supported option in the ioengine help dump
      Add more context to the error messages
      Correct spelling error
      Dump io_u on timeout
      Add option to select how to service multiple files
      Streamline thread_data data direction setting and checking
      Move handling of possible values into the option parser
      Improve rate usec calculation
      Rate must always calculate bytes done
      IO engine callback need not dump possible values
      Don't include engines we don't have
      Move completion handler into the io_u
      First cut at doing sequences of atoms in one commit
      Requeue io_u flags fix
      syslet v4 support
      Move ->commit() call to td_io_getevents()
      syslet engine: smart batching
      Speedup init_disk_util() when dealing with many jobs
      No need to do fadvise() on O_DIRECT/raw IO
      Do proper wait for pending IO on clean exit
      Merge branch 'master' of ssh://
      Add iodepth_batch setting
      Merge branch 'master' of ssh://
      Extend option name from 16 to 20 bytes
      Move the iodepth_batch into td_io_queue() instead
      syslet engine: submission latency numbers
      Temporary iodepth_low work-around for syslets
      Fio version 1.12

Jens Axboe
Received on Tue Feb 27 2007 - 20:46:52 CET

This archive was generated by hypermail 2.2.0 : Wed Feb 28 2007 - 11:47:09 CET