Hi All,
        For those people who may be tooking for a good test tool for qualifying
devices, I am making my Data Test 'dt' program available externally at the
following URL:

                http://www.bit-net.com/~rmiller/dt.html

        This program tests disks,  tapes, serial lines, pipes, and others, and
supports a number of options to provide flexible testing.

        A summary of what 'dt' offers for I/O testing:

* user specifyable transfer sizes via "bs=" option.
* multiple data pattern methods via "pattern=" or "pf=" options.
* misalign data buffer "align=" options.
* data buffer pad bytes to check for buffer overflow on reads.
* performance statistics at end of test (transfer and I/O rates).
* variable length records via "min=", "max=", and "incr=" options.
* multiple processes via "procs=" option.
* asynchronous I/O via "aios=" or "enable=aio" options.
* mutliple tape files via "files=" option.
* multi-initiator testing via "enable=resets" option (Tru64 Unix only).
* sequential and random I/O via "iotype={sequential,random}" option.
* data I/O mode via "iomode={test,copy,verify}" option.
* data verification control via "compare/verify" flag options.
* indirectly tests tag que support via "procs=" and "aios=" options.
* can be used for testing raw (character) or block (file system) devices.
* properly detects tape end of media on writes and reads.
* serial line testing via "speed=", "parity=", and "flow=" options (requires
loopback)

        These are the main test features.  For specialized testing, folks usually
use 'dt' in scripts.  For more details on 'dt', please refer to the 'dt'
User's Manual.

        Note:  POSIX AIO does not work on Linux (right now), and buffer alignment
options are not so useful on Linux for drivers doing buffered I/O (instead
of direct I/O).  Also, I have not tested serial lines.

        If you decide to try out 'dt', please send any questions or problems
directly to me.

Enjoy,
Robin Miller

tru64> dt help
Usage: dt options...

    Where options are:
        if=filename      The input file to read.
        of=filename      The output file to write.
        pf=filename      The data pattern file to use.
        bs=value         The block size to read/write.
        log=filename     The log file name to write.
        aios=value       Set number of AIO's to queue.
        align=offset     Set offset within page aligned buffer.
    or  align=rotate     Rotate data address through sizeof(ptr).
        dispose=mode     Set file dispose to: {delete or keep}.
        dlimit=value     Set the dump data buffer limit.
        dtype=string     Set the device type being tested.
        idtype=string    Set input device type being tested.
        odtype=string    Set output device type being tested.
        errors=value     The number of errors to tolerate.
        files=value      Set number of tape files to process.
        flow=type        Set flow to: none, cts_rts, or xon_xoff.
        incr=value       Set number of record bytes to increment.
        iomode=mode      Set I/O mode to: {copy, test, or verify}.
        iotype=type      Set I/O type to: {random or sequential}.
        min=value        Set the minumum record size to transfer.
        max=value        Set the maximum record size to transfer.
        lba=value        Set starting block used w/lbdata option.
        lbs=value        Set logical block size for lbdata option.
        limit=value      The number of bytes to transfer.
        flags=flags      Set open flags:   {excl,sync,...}
        oflags=flags     Set output flags: {append,trunc,...}
        oncerr=action    Set child error action: {abort or continue}.
        parity=string    Set parity to: {even, odd, or none}.
        passes=value     The number of passes to perform.
        pattern=value    The 32 bit hex data pattern to use.
    or  pattern=iot      Use DJ's IOT test pattern.
    or  pattern=incr     Use an incrementing data pattern.
    or  pattern=string   The string to use for the data pattern.
        position=offset  Position to offset before testing.
        procs=value      The number of processes to create.
        ralign=value     The random I/O offset alignment.
        rlimit=value     The random I/O data byte limit.
        records=value    The number of records to process.
        runtime=time     The number of seconds to execute.
        skip=value       The number of records to skip past.
        seek=value       The number of records to seek past.
        step=value       The number of bytes seeked after I/O.
        speed=value      The tty speed (baud rate) to use.
        timeout=value    The tty read timeout in .10 seconds.
        ttymin=value     The tty read minimum count (sets vmin).
        enable=flag      Enable one or more of the flags below.
        disable=flag     Disable one or more of the flags below.

    Flags to enable/disable:
        aio              POSIX Asynchronous I/O.(Default: disabled)
        compare          Data comparison.       (Default: enabled)
        coredump         Core dump on errors.   (Default: disabled)
        debug            Debug output.          (Default: disabled)
        Debug            Verbose debug output.  (Default: disabled)
        dump             Dump data buffer.      (Default: enabled)
        eei              Tape EEI reporting.    (Default: enabled)
        resets           Tape reset handling.   (Default: disabled)
        flush            Flush tty I/O queues.  (Default: enabled)
        header           Log file header.       (Default: enabled)
        lbdata           Logical block data.    (Default: disabled)
        loopback         Loopback mode.         (Default: disabled)
        microdelay       Microsecond delays.    (Default: disabled)
        mmap             Memory mapped I/O.     (Default: disabled)
        modem            Test modem tty lines.  (Default: disabled)
        pstats           Per pass statistics.   (Default: enabled)
        stats            Display statistics.    (Default: enabled)
        table            Table(sysinfo) timing. (Default: disabled)
        ttyport          Flag device as a tty.  (Default: disabled)
        verbose          Verbose output.        (Default: enabled)
        verify           Verify data written.   (Default: enabled)

        Example: enable=debug disable=compare,pstats

    Common Open Flags:
        excl (O_EXCL)         Exclusive open. (don't share)
        ndelay (O_NDELAY)     Non-delay open. (don't block)
        nonblock (O_NONBLOCK) Non-blocking open/read/write.
        rsync (O_RSYNC)       Synchronize read operations.
        sync (O_SYNC)         Sync updates for data/file attributes.

    Output Open Flags:
        append (O_APPEND)     Append data to end of existing file.
        defer (O_DEFER)       Defer updates to file during writes.
        dsync (O_DSYNC)       Sync data to disk during write operations.
        trunc (O_TRUNC)       Truncate an exisiting file before writing.

    Delays (Values are seconds, unless microdelay enabled):
        cdelay=value     Delay before closing the file.    (Def: 0)
        edelay=value     Delay between multiple passes.    (Def: 0)
        rdelay=value     Delay before reading each record. (Def: 0)
        sdelay=value     Delay before starting the test.   (Def: 0)
        tdelay=value     Delay before child terminates.    (Def: 1)
        wdelay=value     Delay before writing each record. (Def: 0)

    Numeric Input:
        For options accepting numeric input, the string may contain any
        combination of the following characters:

        Special Characters:
            w = words (4 bytes)            q = quadwords (8 bytes)
            b = blocks (512 bytes)         k = kilobytes (1024 bytes)
            m = megabytes (1048576 bytes)  p = page size (8192 bytes)
            g = gigabytes (1073741824 bytes)
            t = terabytes (1099511627776 bytes)
            inf or INF = infinity (4294967295l bytes)

        Arithmetic Characters:
            + = addition                   - = subtraction
            * or x = multiplcation         / = division
            % = remainder

        Bitwise Characters:
            ~ = complement of value       >> = shift bits right
           << = shift bits left            & = bitwise 'and' operation
            | = bitwise 'or' operation     ^ = bitwise exclusive 'or'

        The default base for numeric input is decimal, but you can override
        this default by specifying 0x or 0X for hexadecimal conversions, or
        a leading zero '0' for octal conversions.  NOTE: Evaluation is from
        right to left without precedence, and parenthesis are not permitted.

    Pattern String Input:
            \\ = Backslash   \a = Alert (bell)   \b = Backspace
            \f = Formfeed    \n = Newline        \r = Carriage Return
            \t = Tab         \v = Vertical Tab   \e or \E = Escape
            \ddd = Octal Value    \xdd or \Xdd = Hexadecimal Value

    Time Input:
            d = days (86400 seconds),      h = hours (3600 seconds)
            m = minutes (60 seconds),      s = seconds (the default)

        Arithmetic characters are permitted, and implicit addition is
        performed on strings of the form '1d5h10m30s'.

    Defaults:
        errors=1, files=0, passes=1, records=0, bs=512, log=stderr
        pattern=0x39c39c39, flow=xon_xoff, parity=none, speed=9600
        timeout=3 seconds, dispose=delete, align=0 (page aligned)
        aios=8, dlimit=64, oncerr=continue, iomode=test, iotype=sequential

    --> Date: August 26th, 1999, Version: 12.6, Author: Robin T. Miller <--
tru64>



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to