Home | History | Annotate | only in /test/stcnv/usr/src/tools/diskomizer
Up to higher level directory
NameDateSize
arg_inc.h17-Jun-20091.1K
arg_test.c17-Jun-20092.1K
arg_vals.h17-Jun-200933.9K
args.c17-Jun-200950.3K
args.h17-Jun-20095.2K
asm.c17-Jun-20094.2K
asm.h17-Jun-20094.2K
async.c17-Jun-20097.8K
async.h17-Jun-20091.6K
bits.c17-Jun-20096.8K
bits.h17-Jun-20091.5K
buf_init.c17-Jun-200914.5K
buf_init.h17-Jun-20091.4K
bufs.c17-Jun-200944.4K
bufs.h17-Jun-20096.2K
build/17-Jun-2009
checker.c17-Jun-20095.3K
checker.h17-Jun-20091.3K
clear_ism.sh17-Jun-20091.3K
daio.c17-Jun-20092.9K
daio_async.c17-Jun-20097.1K
daio_async.h17-Jun-20092.2K
daio_dev.c17-Jun-20092.6K
daio_fs.c17-Jun-200915K
daio_posix.c17-Jun-200920.4K
daio_pread.c17-Jun-20092.3K
daio_sunos.c17-Jun-20098K
daio_uscsi.c17-Jun-200914.4K
decode_errors.c17-Jun-20096K
decode_errors.h17-Jun-20091.3K
device_control.c17-Jun-200910.6K
device_control.h17-Jun-20091.6K
disko_usage_track.h17-Jun-20091.7K
diskomizer.sh17-Jun-20091.6K
diskomizer64mpism.c09-Sep-2009135.1K
diskomizer64mpism.h17-Jun-200914.7K
docs/17-Jun-2009
errors.h17-Jun-20093K
etc/17-Jun-2009
findap.c17-Jun-200911.1K
findap.h17-Jun-20091.5K
get_error.sh17-Jun-20091.3K
include/17-Jun-2009
libstack_trace.c17-Jun-20096.7K
limit.c17-Jun-20091.6K
limit.h17-Jun-20091.1K
list.h17-Jun-20091.8K
list_ops.c17-Jun-20091.9K
list_ops.h17-Jun-20091.5K
locks.c17-Jun-20096.5K
locks.h17-Jun-20091.5K
log.c17-Jun-20099.5K
Makefile17-Jun-20092.1K
Makefile.targets17-Jun-20091.2K
pkg/17-Jun-2009
printap.c17-Jun-20091.6K
printap.sh17-Jun-20091.4K
prompt.c17-Jun-20092.7K
prompt.h17-Jun-20091.1K
README17-Jun-20094K
recent.c17-Jun-20093.7K
shared_device_info.c17-Jun-20094.9K
shared_device_info.h17-Jun-20091.5K
shm_best_ops.c17-Jun-20097.7K
shm_mmap_ops.c17-Jun-200913.1K
shm_ops.c17-Jun-20092.4K
shm_ops.h17-Jun-20092.4K
shm_shm_ops.c17-Jun-200910.8K
signal_catch.c17-Jun-200910.1K
signal_catch.h17-Jun-20091.4K
sparc_asm.h17-Jun-20091.2K
sparc_asm.s17-Jun-20091.5K
STC.INFO09-Sep-20094K
test/17-Jun-2009
time.c17-Jun-20092.1K
time.h17-Jun-20091.4K
timeval.c17-Jun-20091.8K
timeval.h17-Jun-20091.4K
uadmin.c17-Jun-20093.9K
usage_tracking.c17-Jun-200912.8K
user/17-Jun-2009
utils.c17-Jun-20091.6K
utils.h17-Jun-20091.2K
version17-Jun-20091K
vtoc.c17-Jun-200910.2K

README

      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 
     22 #ident	"@(#)README	1.9	09/05/26 SMI"
     23 
     24 #
     25 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     26 # Use is subject to license terms.
     27 #
     28 
     29 Introduction
     30 ------------
     31 Diskomizer is a program for testing and verifying disk subsystems.
     32 It uses multiple processes to do asynchronous writes and reads to
     33 devices that are specified and then verifies the data that is read
     34 back is the data that was written to that block.  Every block of data
     35 has a unique header each time it is written and the body of the data
     36 changes every time the block is written.  It can also be used to do
     37 read only testing of devices; providing a non destructive method of
     38 testing.
     39 
     40 Detailed documentation on Diskomizer is available in the file
     41 "diskomizer.html" and at the web page listed under STC_URL in the
     42 STC.INFO file in this directory.
     43 
     44 
     45 Modifying diskomizer source
     46 ---------------------------
     47 The source is lint and cstyle clean. Keep it that way.
     48 
     49 
     50 Building diskomizer
     51 -------------------
     52 There are two ways to build Diskomizer. 
     53 
     54 1) The original way which produces a single package called SUNWdiskomizer 
     55    that contains binaries for all the architecutures that diskomizer supports 
     56    and all OS releases currently supported.
     57 
     58 2) The STC way which produces a package called SUNWstc-diskomizer that contains
     59    only the binaries for the current archictecture and OS release.
     60 
     61 Both build methods work with distributed make in parallel mode.
     62 
     63 (a) The original method to build diskomizer:
     64 
     65     The 32bit SPARC version has to be built on 5.8
     66     The 64bit SPARC and the intel version on 5.8
     67     The 32bit x86 version has to be built on 5.8
     68     The 64bit x86 and the intel version on 5.10
     69 
     70     The package should be built on 5.10 after this.
     71 
     72     On the SPARC build system you can 
     73 
     74 	$ cd build/`uname`/sparc && make install
     75 
     76     On the 32 bit x86 system:
     77 
     78 	$ cd build/`uname`/i386 && \
     79 		make "ALL_ISA = pentium_pro pentium" pkg
     80 
     81     On the 64 bit x86 system do:
     82 
     83 	$ cd build/`uname`/i386/amd64 &&  make install
     84 
     85     and then on any system:
     86 
     87 	$ cd build/`uname`/shell &&  make install
     88 
     89 	$ cd build/`uname`/pkg && make
     90 
     91 (b) Building diskomizer for STC
     92 
     93     From the top level diskomizer source directory, do
     94 
     95 	$ make package
     96 
     97 
     98 Testing Diskomizer
     99 ------------------
    100 You should always verify that diskomizer can detect and report data 
    101 corruptions.  The simplest way to do this is using dd(1) and the 
    102 EXPERT_O_EXCL=0 option to disomizer so that the device can be accessed 
    103 and written to by dd.
    104 
    105 More extensive testing can be done using virtual targets that can be 
    106 programed to inject data corruption of all types.
    107 
    108 Diskomizer should be able to overwhelm any storage system from a 
    109 modertately configured client.
    110 
    111 It is particuarly important to verify that the DAIO_FS and DAIO_SUNOS 
    112 modules work correctly and can detect data corruption.
    113 
    114 Diskomizer Versions.
    115 
    116 The versions numbers used are in major.minor format. To aid bug tracking 
    117 even major numbers reflect released versions of diskomizer with their
    118 corresponding minor releases being patches to those releases.  Odd major
    119 numbers are development releases for the next even release.
    120 
    121 So version 2N.0 would be a major release while ((2N)-1).0,((2N)-1).1,... would
    122 be a devlopment builds of the release that will be known as 2N.0. Release 2N.1
    123 would be a bug fix release of release 2N.
    124