0.99h
Added "-b" option for calling fsync() after all writes.

Changed the semaphore code to make it more easily hackable for BSD users,
it won't compile as-is on BSD at the moment...

0.99g
Changed to using optarg() for command-line processing.
Tidied up the code a bit and decided to freeze it for release.

Version 1.[0-8]0 will use fork().  Version 1.90 and above will use POSIX
threads and include the concurrant bonnie++ functionality I've been promising
for so long.

0.99f
Added "-f" parameter to skip per-char tests and semaphore code to synchronise
multiple instances of Bonnie++.  Thanks to
Christian Kagerhuber <c.kagerhuber@t-online.net> for the patch! 

Added srand() after the fork so each child gets different random numbers.

0.99e
Fixed the operation of "-x" parameter (used to just cause crashes).

Made it cleanly exit under some error conditions where it used to crash.

Improved the bonnie++ man page.

Fixed some checking of command-line parameters.

Started merging code from the OS/2 port.

0.99d
Fixed CSV output of <100 seeks per second.

0.99c
Fixed another fseek related bug.

Made it always print the CSV data.

Wrote the man pages and fixed up the Debian packagine of the manuals.

0.99b
Cleaned up the code a bit.

Added Debian package support.

0.99
Files are created mode 0600 not 0777.

Fixed some bugs in 0.98 where the results from several tests were totally
wrong.

Now the random file code will take less CPU time when there are extremely
large numbers of files.

Changed the format of all the output files slightly.  Notable change is that
the percentages of CPU time are now rounded off to the nearest percent.  This
is because it's not that accurate anyway (results that are provably more than
1% wrong are not uncommon), and because I needed the extra 1 character per
field.  Also now it handles CPU time >100% properly.  This is for SMP systems
where more than 1 CPU is being used.  Concurrant Bonnie++ will return many
results significantly greater than 100% on OSs that work well with SMP.

Added a csv2txt.pl program.  The main aim of this is to display data well
for 80 column braille displays for the blind.

Added "-q" option for quiet mode (less output).

Now the "-n" option works on a multiple of 1024.  So "-n 10" means create
10240 files.  This change is to allow the output to display in the same
format and save space in display (who would want to test as a lower resolution
than per 1024 files anyway).

The -n option is now of the form "num[:max[:min]]" where max is the maximum
size (default 0) and min is the minimum size (default 0).  To simulate Squid
use a max of 15000 and a min of 300.  To simulate INN use a maximum of 4096
and a minimum of 512.

1.0 will be out soon!

0.98
Fixed a bug where the data size couldn't be an exact multiple of the size of
each file (1 gig).  Fixed a number of other minor bugs related to that and
added more error checking as well.
Changed the code to support up to 1000 files for the IO test, if each is a
gig then you can test a tera-byte of data.  Changing the code to have more
than 1000 files wouldn't be that difficult to do.

Use the new C++ type conversions.

0.97
I have stopped using cout/cerr and never plan to use them again.  They caused
me significant pain when trying to get it going on an ancient SGI system.

Also changed the code structure a bit to make it cleaner.  One advantage of
this is that there is now a "-x" option to tell bonnie++ to run the same test
a number of times (it's interesting to see the variance in the results).

Now use fflush() after writing each set of results.  This means that killing
the program unexpectedly won't result in results being lost.  Also fixes a
strange bug related to printf() on Linux which I am still looking into.

