You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
290 lines
13 KiB
290 lines
13 KiB
Disktest Version v1.4.x CHANGELOG
|
|
|
|
CHANGES SINCE v1.3.x
|
|
|
|
Major Changes:
|
|
|
|
Added an option to specify the amount of time that IO can be stalled,
|
|
before it is considered an error. The default is 120 sec and can be
|
|
changed using the -t. An IO timeout is a warning message, unless -At is
|
|
specified.
|
|
|
|
Added additional option to -t to support random IO delays per thread. This
|
|
function use to only support static delays. Review the -t option in the
|
|
man page to understand the new operation.
|
|
|
|
Added signal handling. So that SIGINT, SIGKILL, SIGHUP, SIGTERM, and
|
|
SIGUSR1 are now handled. Sending SIGUSR1, will display heartbeat
|
|
statistics since the last time SIGUSR1 was issued or the last heartbeat
|
|
interval if -h is specified. Sending SIGUSR1, reset heartbeat counter
|
|
statistics.
|
|
|
|
More changes to the -m option. With the release of the last level of
|
|
disktest, it was found the the extra mark options which were add, caused
|
|
some undesired results, as in not being able to read back from a different
|
|
host, due to the host name being automatically set. The -m option is now
|
|
been cahnged to work just like the -P option. So that all mark options
|
|
can be included, or only the desired subset.
|
|
|
|
Added sync interval to -Is. The number of IOs can now be specified,
|
|
before a sync is sent. If -Is is specified, then sync will occur on every
|
|
write IO. If -Is100, then every 100th write IO, and sync will occur.
|
|
|
|
Added -R option, which specifies a number of retries that should occur
|
|
after a seek, or read/write failure. Also specifies how much delay should
|
|
be added before a retry occurs. sync and data miscompares errors are not
|
|
retrable.
|
|
|
|
Added option to -A, -At, this will cause an IO timeout, specified by -t, to
|
|
be an error and fail and IO test. By default, IO timeouts are warnings.
|
|
|
|
Minor Changes:
|
|
|
|
Fixed that use of -s or -S, where the LBA/Block specified is greater then
|
|
the calculated volume size. This was an issue when initializing sparse
|
|
file targets where a single write was issued at the end of the file.
|
|
|
|
Fixed a bug for Windows were the volume size was returned in bytes when it
|
|
should have been returned in blocks.
|
|
|
|
Fixed a bug where during linear testing using cycles, the read time for the
|
|
cycle duration was always being printed as one second.
|
|
|
|
Disktest now uses stat(2) to check the filespec type, removed depricated
|
|
way of checking file type, which did not always work as expected.
|
|
|
|
Updated the sync on test end, to always sync when open for write. This is
|
|
to make sure that even on block devices, that the kernel cache is sync'd to
|
|
disk before moving to the next test. Previously this was only done when
|
|
the filespec was a filesystem file only.
|
|
|
|
Added patch from Mike Anderson for checking status on sync/close.
|
|
|
|
Fixed cycle performance stat printing. Cycle performance was printing at
|
|
the end if each cycle, even if -PC was not specified.
|
|
|
|
Updated docs, to document the -PC option.
|
|
|
|
Added check for early exit in IO threads when global run flag cleared.
|
|
|
|
When the -Ac flag is specified, error messages, that would normally fail
|
|
the test will be printed as warning messages, and the test will continue.
|
|
At the end of the test, if it was able to complete, the test will be
|
|
described as passed with warning. if the -Ac is not used, the the same
|
|
test will be failed with errors.
|
|
|
|
Fixed up some issues with the timer code, specifically so that timed runs
|
|
are based on the number of seconds elapsed, not actual time, this was an
|
|
issue during timed runs, and the system time was changed.
|
|
|
|
Fixed an issue with the block range calcualation, when specified with the
|
|
-S option. The last LBA calculation was wrong, of by transfer size - 1.
|
|
|
|
Fixed an issue that was intruduced in 1.3, where percentage read/write
|
|
always assumed error checking enabled.
|
|
|
|
Fixed the -s and -S options so that they now allow for hex and oct input
|
|
from the command line.
|
|
|
|
Modified the fsync to not be called on character raw devices, this was
|
|
causing a false failure on IO thread exit.
|
|
|
|
Ross S. W. Walker found a significant performance drop in IO throughput.
|
|
This was caused by calling sleep(0) by default on every IO. Modified
|
|
the code so that if delay is zero, the sleep is not called.
|
|
|
|
CHANGES SINCE v1.2.x
|
|
|
|
Major Changes:
|
|
|
|
Added synchronization at the block level between threads as the default.
|
|
Also added an option to serialize IO and the IO operation level but it is
|
|
not the default. Added to new options to -A, s and S, to manipulate these
|
|
new synchronization and serialization features.
|
|
|
|
Added the target, cycle start time, seed, and hostname info to the mark
|
|
option. When the mark option is specified, the LBA number, the pass
|
|
count, the start time in UTC, the seed value, the hostname, and the
|
|
target is added to the front of each LBA data set, the remainder of the
|
|
data set is then filed with the requested data pattern.
|
|
|
|
On a data miscompare, disktest will now reread the lba that caused the data
|
|
miscompare and present that data in the dump file and stdout.
|
|
|
|
Add options to -A. If -Ag is specified, all threads to all tagets are
|
|
killed, vs. threads to only the target that had the error. -Am, will write
|
|
a marker, DISKTEST ERROR OCCURRED, to LBA 0 of the failing target device.
|
|
To turn off the reread on data miscompare us the option -Ar. The orginal
|
|
use of -A, continue on error, is now the option -Ac. -Aw will allow for
|
|
WORM tesign when using -pR. -As and -AS are new IO sycronization options.
|
|
|
|
A new option -M has been added. This will override the use of the cycle
|
|
start time on the mark data and set it to the specified value up to 8 bytes.
|
|
|
|
Added new seek pattern, -pr, random interleaved. The way this seek pattern
|
|
functions is that a random LBA is selected, and then it is written to, if
|
|
write is specified, then read from, if read is specified, before selecting
|
|
a new random LBA. To get the original random, which supports the Duty
|
|
cycle function and writes and read to random LBAs for each seek, use -pR.
|
|
|
|
Added a delay time option, -t <delay>. This will allow a user to specify,
|
|
in milliseconds, the amount of time for each thread to delay before
|
|
performing each IO operation. The default is to not delay.
|
|
|
|
Added a LBA alignement offset option, -o <offset>. This option allows a
|
|
user to specify the LBA which IO will start from and be aligned to. For
|
|
example if -o3 is specified for 1024 byte IOs, then the LBA alignment for
|
|
IO will start at LBA 3 and be aligned at LBA 5, 7, 9, etc. Instend of
|
|
aligned at LBA 0, 2, 4, 6, 8 etc. This is used to match the IO alignment
|
|
to the storage device striping, or volume managment alignement in an OS.
|
|
|
|
Minor Changes:
|
|
|
|
The -d option use to reset the count at every 512 interval regardless of the
|
|
requested dump size. This made it difficult to dump current data content
|
|
from the filespec and compare it with misscompare data. The count is now
|
|
consistent with the requested dump size.
|
|
|
|
Modified the dump file to include the start arguments and the target.
|
|
|
|
The timed test, -T, now works correctly with specifing cycles, -C.
|
|
|
|
During cycle testing, the random data, -z, is now different for each cycle.
|
|
|
|
Added the -F option to the -? usage.
|
|
|
|
When a data miscompare occures, the data printed to stdout now shows the
|
|
byte offset of the first byte that caused the miscompare, and 16 bytes of
|
|
data at that offset.
|
|
|
|
Added a compile directive for debug information, so that debug type code is
|
|
now #ifdef'd. To us the -V option, the debug directive _DEBUG must be
|
|
speicifed at compile time.
|
|
|
|
Added the usecs an IO takes to complete in the debug information when using
|
|
verbose level 5.
|
|
|
|
The option -ma has been change to only having to specify -m
|
|
|
|
When using the -F option to specify more then one target, there was a bug
|
|
were the mutex was held for all targets during data compares, this has now
|
|
been fixed so that each target holds its own set of mutexes.
|
|
|
|
Changed stdout to not buffer its output.
|
|
|
|
Modified the volume sizing function for aix, so that it could use the
|
|
extended functions for getting the volumes size when DF_LGDSK is set
|
|
as a flag in the devinfo struct.
|
|
|
|
Modified the Makefile.aix to support compiling of a 64bit binary by
|
|
default.
|
|
|
|
Added additional checking when attempting to generate a random LBA target
|
|
to lower the need to regenerate an LBA after alignment and transfer size
|
|
are taken into account.
|
|
|
|
The heartbeat option now shows statistics for the hearbeat interval, and
|
|
not the aggregate of the cycle. Also added more discription to the
|
|
statistical output to discribe the heartbeat, cycle, and total stats.
|
|
|
|
Modified the block alignment macro so that non power of 2 transfer sizers
|
|
will align correctly. Previously, when transfering non 2^n trnasfer sizes
|
|
the nearest 2^n would be used.
|
|
|
|
Add a patch to the code, provided to me by Oliver Paukstadt, were on s390,
|
|
need to specify that length of the value used for "longest time" in the
|
|
timer code.
|
|
|
|
When an error occurs in io, the errno has been added to the output line.
|
|
|
|
CHANGES SINCE v1.1.x
|
|
|
|
Major Changes:
|
|
|
|
A new option -F has been added. This allows the use of a file to discribe
|
|
the targets that disktest will run against. This should work as if an
|
|
individual command line was started for each of the targets specified in the
|
|
file.
|
|
|
|
Add an option, C, to the performance option -P. This allows the user to
|
|
specify at the end of each cycle or test, to display the performance
|
|
information for the cycle. In the case were there is only one cycle, then
|
|
the total and cycle performance data will be identical.
|
|
|
|
Minor Changes:
|
|
|
|
Added day calculation to runtime statistics.
|
|
|
|
When setting a finite pass count, the passes would continue one more cycle
|
|
then specified.
|
|
|
|
Added fsync on close for unix systems when doing file IO. The fsync will
|
|
occur in between cycles and at the conclusion of a test. Also added a
|
|
modification to -If, -Ifs, this will force an fsync on every write. The
|
|
default is to only fsync at the end of a cycle or test.
|
|
|
|
When using the the mark option, -m, disktest would some times report a
|
|
false data miss compare. Also the only -m available now is -ma. There
|
|
are cases that could cause false miss-compares when using variable block
|
|
transfer size and the -mf or -ml options. For now these modifiers have
|
|
been disabled.
|
|
|
|
Disktest now detects the size of a file when doing filesystem IO tests. It
|
|
previously defaulted to the internal default of 2000 LBAs.
|
|
|
|
Updated the man page and usage text to describe option -z and option -Q.
|
|
They have always been there, but never in the documentation.
|
|
|
|
I had made use of lots of globals to share data between threads. Most of
|
|
these have now been cleaned up.
|
|
|
|
when using the -PPA option, the values were being rounded and not showing
|
|
the calculated tenths.
|
|
|
|
When running -C0, dsktest was showing 'Starting pass x of 0', removed the
|
|
'of 0' part.
|
|
|
|
Statistics are never being shown when using -C0 option. Now, stats will
|
|
be shown for each cycle and the total for all cycles.
|
|
|
|
The process ID that is shown as part of the running test is unique to the
|
|
test running, not to each thread. This change was made to make it easier
|
|
to track a single test out of a log file by searching for the id. It is
|
|
also that same id used for the random seed and the dump file identifier.
|
|
|
|
The -f option did not take into consideration the endian-ness of the arch.
|
|
this would cause issues in the line value of the data pattern when using
|
|
the option. This has been fixed.
|
|
|
|
Added IFDEF for Power when using ioctl BLKGETSIZE where the size must be a
|
|
unsigned long for the value to return correctly
|
|
|
|
CHANGES SINCE v1.0.x
|
|
|
|
Major Changes:
|
|
|
|
Updated performance output based on command line. Gave one decimal in
|
|
MB/s output.
|
|
|
|
Rewrote -pL IO routine to show correct stats. Now shows pass count when
|
|
using -C.
|
|
|
|
Added dump function from command line. Created formatted dump output for
|
|
Data miscomare and command line.
|
|
|
|
Modified performance statistic printing to be more accurate with respect
|
|
to throughput and IO/s. Added one decimal place of precision in MB/s
|
|
calculation.
|
|
|
|
Minor Changes:
|
|
|
|
Code cleanup to remove the plethora if #ifdef for windows/unix functional
|
|
differences.
|
|
|
|
Updates to parsing routines for user input. Added multipliers for -S and
|
|
-s command line arguments. Forced default seeks to default if performing
|
|
a diskcache test.
|
|
|
|
Can now leave off filespec the full path header as it will be added based
|
|
on -I.
|