NAME

vdt - visual disk test


SYNOPSIS

vdt [-options]


DESCRIPTION

vdt performs i/o tests on files, logical volumes, partitions or whole disks.

vdt offers various disk addressing patterns and test area selections.


OPTIONS

 basic parameters:
 -b size       alternate i/o buffer size
 -f filename   use this file for read/write tests
 -m number     maximum number of iterations per test
 -p percent    test area = given % of testsize
 -r filename   use this input file for read-only tests
 -s stripes    split test area in given # of stripes
 -w filename   use this output file for write-only tests
 -z testsize   test area = just this much (default=whole file)
 basic tests:
 --read        read test (Bunch_of_Sectors at a time)
 --sect        i/o just a single (512-Byte) sector at a time
 --seek        seek test (same as '--read --sect')
 --writ        write test (B.o.S. at a time)
 compound tests:
 --aver        ratify test (write, read back, compare)
 --blot        update test (read, stain, write back)
 --comp        comparison test (B.o.S. at a time)
 --cool        freshen test (read, write back)
 --copy        copy test (B.o.S. at a time)
 --mess        shuffle test (read, write somewhere else)
 stress tests:
 --burn        burn (read/write) test (all addressing modes)
 --cook        cook (read-only)  test (all addressing modes)
 addressing patterns:
 --incr        incrementing addresses (start to end)
 --decr        decrementing addresses (end to start)
 --conv        converging addresses (edges to middle)
 --scat        scattering addresses (middle to edges)
 --gold        'diamond'-pattern (middle to edges and back)
 --spot        'X'-pattern (edges to middle and back)
 --rand        random addresses
 region location:
 --edge        --head and --tail combined
 --head        select initial portion of test area (default)
 --core        select central portion of test area
 --tail        select  final  portion of test area
 --slab        --edge and --core combined
 operation flags:
 --even        divide test area proportionally
 --flip        invert selection of test area
 --full        random seek within B.o.S.
 --help        show this usage help
 --once        same as --uniq
 --sync        synchronous (blocking) output
 --uniq        test each and every random address just once
 --wait        request user interaction to finish
 extra parameters:
 -l lines      override screen's # of lines
 -c columns    ditto for columns


USAGE

Without any options, vdt gives a minimal help message.


FILES

 vdt.log                        vdt's log file


DIRECTORIES

 /dev                           General Unix/Linux device interface
 /tmp                           General Unix/Linux temporary stuff


EXAMPLES

Example 1: basic read test from start to end of a file

 $ vdt -r <filename> --read --incr


ENVIRONMENT

 TERM           The value of the TERM environment variable may affect
                the output of `vdt'.
 VDT            Optionally used to automate initialization of flags
                and/or parameters.


EXIT STATUS

The following exit values are returned:

 0                      No errors of any kind.
 >0                     An error occurred.


DIAGNOSTICS

 EACCES         Permission denied (POSIX.1)
                Search permission is denied for
                a component of the path prefix
                of a given <pathname>.
 ENOTTY         Inappropriate I/O control operation (POSIX.1)
                The type of the file or device being tested
                is not suitable (eg. chosing a block device
                instead of a raw device).


SEE ALSO

df(1), mount(1), iostat(1).


NOTES

Ordinarily, vdt does not require `root' privileges or SUID file permissions in order to operate on regular files.


CAVEATS

On some operating systems, the logical sector size may be greater than 512 bytes.

When the test subject is big enough while available memory not so, enlarging the screen window may avoid buffer allocation failures.

In the event of a failure to detect the actual disk/partition size, providing an explicit test area size (by means of '-z') may circumvent the problem.


BUGS

On FreeBSD-7-x86 and Solaris-10-x86_64, using the default 24x80 screen leads to a miscalculation of available columns; the workaround is (if possible) to manually enlarge the screen window horizontally by at least one column.

A screen with less than 24 lines results in garbled output.

Not all possibly harmfull combinations of flags are prevented.


AUTHOR

The original and current versions of `vdt' consist of code and documentation written by:

        Alexandre Botao           http://botao.org
        botao@unix.sh 
        botao@linux.sh            alexandre@botao.org


COPYRIGHT

        Copyright 2010 Alexandre Botao


LICENSE

`vdt' is `Free Open Source' (fos) software , and is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 (the "License");

You may not use `vdt' except in compliance with the License. You may obtain a copy of the License at

        http://www.gnu.org/licenses/

Additionally, a copy of the License is distributed along with `vdt' in a file called 'LICENSE';


SUPPORT

 Commercial support is NOT available for `vdt'.
 Suggestions and/or bug reports are very welcome.


DISCLAIMER

`vdt' is distributed on an ``AS IS'' basis, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.