Recent changes

From: Jens Axboe <>
Date: Wed, 03 Jan 2007 20:56:20 +0100

The following changes since commit ebac4655dd3624f3296ff83be48e0cdc02852f18:
  Jens Axboe (1):
        Move fio to seperate repo

are found in the git repository at:


Jens Axboe (251):
      Add reference to git/http resources
      Bump version to 1.1 for release
      Fixup check_range() so it accepts any combination of suffixes
      Further job parsing fixes
      Kill ->cur_off, always just lseek() in sync ->io_prep
      Include ETA for job(s) to finish
      Add support for zoned io sections
      Misc minor fixes
      examples/disk-zone-profile added
      32-bit fixes
      Fix offset/size setting problem
      sysfs layout fix for md
      Woops, forgot to define FIO_HAVE_IOPRIO for Linux
      Add support for the read/write interface of SG v3
      Support for multiple queued commands with read/write SG v3 io
      Silence bogus gcc 4.x warnings
      Fix ETA display
      Update version string, fix offset bug
      Allow proper sharing of files
      cleanup sg ioctl vs read approach
      ETA fixes
      Add support for read/write mixed io
      Only fsync on close if fsync= given
      Add -h help option
      Support for specifying exact io pattern
      Allow job file to be last argument
      Support for splice IO engine
      fio_spliceio_event() used wrong private type
      splice fixes
      Add end_fsync option
      String and thread inherit fixes
      End stripping exposed suffix bug
      More string fixups
      Merge branch 'master' of router:/data/git/fio
      Add lockmem=x option to pin memory
      Merge branch 'master' of ssh://router/data/git/fio
      Use mmap for mlocked memory
      Don't allow mlock of more than real_mem-128MiB
      Use /dev/urandom instead of /dev/random
      Fixup stat queue file read
      Introduce an extra runstate for monitoring thread startup
      Fix random io truncate on 32-bit archs
      More 32-bit fixes (unsigned long -> unsigned long long conversions)
      Add write_iolog support
      Add support for specifying read/write mix workloads better
      Add support for specifying job nice value with nice=x
      Merge branch 'master' of ssh://router/data/git/fio
      Fixup merge error
      Fio 1.4
      Add link to Pascal's RPM repository
      Remove debug printf() in read/write_iolog setup
      Dynamically allocate the big filename entries in td
      Add exec_prerun/exec_postrun options
      Add ioscheduler=x option to allow setting io scheduler
      Cleanup allocation frees on exit
      Aggregate bandwidth off-by 1.024
      Change logging unit from MiB to KiB
      Split up fio.c into log/stat/time parts
      Juggle some includes, add cscope make target
      Shorten the file names, stupid to prefix everything with fio-
      Add name=x option to name jobs
      Convert some options to use check_strstore() if they only dupe the arg
      Bad option clarifications (dump supported types)
      ini parser user friendliness
      More function moving
      Guard ioscheduler= option with FIO_HAVE_IOSCHED_SWITCH
      Get closer to FreeBSD compile
      OS abstract out the random seed and value retrieval
      Final FreeBSD compile fixups
      Easy process shared semaphores
      Cleanups and 'td' size reduction
      fio.h is missing unistd.h include
      Broken write_iolog option if iolog given
      rwmix seed got broken with random abstraction, fixup
      Warn on conflicting read/write iolog
      'parent' is always set in get_new_job()
      Let thread exit cleanup the small allocs
      Compile and works on OpenSolaris (tested on BeleniX)
      Remember to define OS_O_DIRECT to OS type if available
      Docu update
      Note when thread is fsyncing
      Improve run_str[] updates and printing
      Also print pending string if some threads have yet to run
      Enable output logging to file instead of stdout
      When logging to a file, stderr should go both to stderr and file
      Documentation updates
      Add support for giving multiple job files
      Misc: stall progress ouput during file creation, ini_file frees.
      Make it easier to match up filename and job number
      Remove the old job command line options
      Update usage() text to match options
      Check and error for graph generation if gnuplot isn't available
      Don't hide submission latency numbers, even if they are 0.
      Add option for terse parseable output
      Fix non-overwrite bug
      Pass full required size into create_file()
      Always create full file, don't extend
      Remove last remnants of file extending
      Various little fixes and lots of commenting
      [PATCH fio-1.5
      Stonewalling wasn't properly done in some circumstances
      Remove redundant -f job option
      Get _syscallX() functions from <linux/unistd.h>
      Fixup nice() return value and duplicate volatiles
      Fix timout variable setting
      Use lstat() instead of stat() in sysfs lookup
      Only print eta when we have nr_running > 0
      libaio returns long, not int
      Correct command line parsing
      email update
      Basic support for a cpu cycle eater job
      Fix compile on hosts that have the splice stuff included
      Separate io engines into separate loadable objects
      Fixup failure to load io engine object logging
      Remember to check ioops version in loaded module
      engines/Makefile had extra LIBS line
      Don't hardcode ioengine path
      Allow io engine to do the file setup
      Fix segfault if ioengine isn't set
      engines/Makefile should use -g as well
      First cut at supporting > 1 file per job
      [PATCH Various fixes
      Add support for unlinking io files
      mmap: fix bug introduced with the io engine split
      Verify eta time fix
      Cleanup the io engine methods
      Split status/eta code out of fio.c
      Split out the verify io parts
      More verify code move
      Sync and invalidate cache prior to running verify
      Make fio -W clean again
      Make io engines -W clean
      Merge branch 'master' of ssh://router/data/git/fio
      Fix a bunch of bugs
      Total io size / eta fix
      File creation and info fixes
      Automatically adjust iodepth for nr_files
      Cleanup iolog handling
      Only the posixaio engine needs to link against -lrt
      Add for_each_td()
      Fixup io size on block devices
      More size fixes
      Add bw/lat log as job options
      disk zone example needs write_bw_log
      Split out the memory handling from fio.c
      Split the io_u io handling out of fio.c
      Move related code next to each other
      Sanity check ops on loaded io engine
      Be nicer about cleaning up allocated memory
      Plug a few more leaks
      Add option to specify the exact file used
      Revert some of the leak fixes
      Only unlink the same file once
      f->fileno is not used
      Shrink io_u a little
      Implement file syncing as data direction
      mmap io engine had broken sync
      Move td_io_sync()
      License update
      Document filename= option
      Make ->buflen == 0 on SYNC io_u's
      README updates
      ->queue() error handling
      Add HOWTO
      Use posix_fallocate() to force file layout
      Update HOWTO
      Split config name parse functions into parse.c
      libaio sign error
      Abstract option handling
      Fixup iolog config setting
      Improve io logging
      [PATCH cpu io threads need not have lots of stuff setup
      parse cleanups
      Add full command line parameter support
      Options must be integer
      FIO_OPT_RANGE breakage
      Fix modification of const string
      Add support for multiple jobs on the command line
      Typo: jobname is 'val', not 'opt'
      Don't put_job() on def_thread
      Move the other parameter fixup code into fixup_options()
      Potential overflow and unused variable
      Improve job file parsing
      Add 'norandommap' option
      Add 'bs_unaligned' option
      Randomly fill output buffers
      Signedness warning
      Print an error when parsing a job option fails
      Add sample fsx job file
      Improve job/cmd line parsing error logging
      String copy limiting fixes
      fsx example
      Fix random_map
      Add seperate read/write block size options
      Fix int vs long problems in parsing some options
      Makefile update
      Add in-progress io rate
      Kill old libaio/posixaio checks
      Make fio build again on "crippled" platforms
      Merge branch 'master' of ssh://router/data/git/fio
      HOWTO spelling fixes
      bs= and bsrange= takes both read and write sizes
      Cleanup 2nd argument set parsing/setting
      Allow leading , in multi setting parameter
      Print pretty bs values
      Version 1.8
      Forgot to include 'M' as a unit postfix
      Warn on writable strings
      Missing memset and free-on-error in io engines
      Remove rate_quit remnants
      Fix options with no parameters
      Version 1.9
      Link in known io engines
      Add skeleton external io engine
      Improve skeleton example
      Fix signedness issue
      nrfiles > 1 random fix
      Don't segfault on missing argument data
      fsync and stonewall fix
      File close fix
      Always open the files from the job itself
      Close files on error
      Get rid of FIO_INST_PREFIX
      Time and seek optimizations
      Comment typo
      Fix time debug compile
      'null' ioengine
      Update ioengine help text
      Improve time accounting for a job
      rusage stat
      Fix warnings from icc
      Fix FreeBSD/Solaris linkage
      Make unlink and overwrite the default
      Only unlink for created files
      Support for hugetlb backed shared memory
      Must use ->real_file_size
      Fix hugetlb problems
      Fix character + O_DIRECT
      Support for mmap of hugetlb files as memory backing
      Remove debug fprintfs
      Document how to setup/use huge pages
      Add hugepage-size option
      Warning on hugepage-size setting in HOWTO
      Allow mem=mmap to also use a file backing
      Version 1.10
      Don't dump optarg on unknown option
      Don't create libdir
      Fix division by zero in deviance calculation
      Fix deviation overflow
      Add thinktime_blocks
      Make sure the fio_options[] members are always zero filled

Pascal Bleser (1):

Randy.Dunlap (1):
      Drop "-f jobfile" from usage help

 .gitignore | 1 +
 HOWTO | 613 ++++++++++
 Makefile | 33 +-
 Makefile.FreeBSD | 34 +
 Makefile.solaris | 34 +
 README | 297 +++---
 arch-ia64.h | 6 +
 arch-ppc.h | 6 +
 arch-x86.h | 6 +
 arch-x86_64.h | 6 +
 engines/fio-engine-cpu.c | 38 +
 engines/fio-engine-libaio.c | 175 +++
 engines/fio-engine-mmap.c | 111 ++
 engines/fio-engine-null.c | 84 ++
 engines/fio-engine-posixaio.c | 224 ++++
 engines/fio-engine-sg.c | 358 ++++++
 engines/fio-engine-skeleton_external.c | 109 ++
 engines/fio-engine-splice.c | 225 ++++
 engines/fio-engine-sync.c | 123 ++
 eta.c | 262 +++++
 examples/1mbs_clients | 160 +--
 examples/aio-read | 10 +-
 examples/disk-zone-profile | 14 +
 examples/fsx | 12 +
 filesetup.c | 462 ++++++++
 fio-ini.c | 934 ---------------
 fio-io.c | 603 ----------
 fio.c | 1955 ++++++-------------------------
 fio.h | 502 +++++++--
 fio_generate_plots | 12 +-
 gettime.c | 138 +++
 hash.h | 58 +
 init.c | 1299 +++++++++++++++++++++
 io_u.c | 357 ++++++
 ioengines.c | 190 +++
 log.c | 233 ++++
 memory.c | 138 +++
 os-freebsd.h | 43 +-
 os-linux.h | 90 ++-
 os-solaris.h | 65 ++
 os.h | 20 +-
 parse.c | 363 ++++++
 parse.h | 50 +
 stat.c | 606 ++++++++++
 time.c | 140 +++
 verify.c | 171 +++
 46 files changed, 7845 insertions(+), 3525 deletions(-)
 create mode 100644 HOWTO
 create mode 100644 Makefile.FreeBSD
 create mode 100644 Makefile.solaris
 create mode 100644 engines/fio-engine-cpu.c
 create mode 100644 engines/fio-engine-libaio.c
 create mode 100644 engines/fio-engine-mmap.c
 create mode 100644 engines/fio-engine-null.c
 create mode 100644 engines/fio-engine-posixaio.c
 create mode 100644 engines/fio-engine-sg.c
 create mode 100644 engines/fio-engine-skeleton_external.c
 create mode 100644 engines/fio-engine-splice.c
 create mode 100644 engines/fio-engine-sync.c
 create mode 100644 eta.c
 create mode 100644 examples/disk-zone-profile
 create mode 100644 examples/fsx
 create mode 100644 filesetup.c
 delete mode 100644 fio-ini.c
 delete mode 100644 fio-io.c
 create mode 100644 gettime.c
 create mode 100644 hash.h
 create mode 100644 init.c
 create mode 100644 io_u.c
 create mode 100644 ioengines.c
 create mode 100644 log.c
 create mode 100644 memory.c
 create mode 100644 os-solaris.h
 create mode 100644 parse.c
 create mode 100644 parse.h
 create mode 100644 stat.c
 create mode 100644 time.c
 create mode 100644 verify.c
Received on Wed Jan 03 2007 - 20:56:20 CET

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