• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Disktest Version v1.4.x README
2
3WHAT IS DISKTEST?
4
5  Disktest performs repeated i/o accesses to disk devices or filesystems
6  and optionally writes to, reads from, and verifies the data.
7
8  There are many optional parameters that can be supplied to disktest to have
9  it perform in a multitude of test cases.
10
11  It is distributed under the GNU General Public License - See the LICENSE
12  file that accompanies this distribution for more details.
13
14CHANGES
15
16    Please read the CHANGELOG for details on the changes to disktest from
17    previous releases.
18
19WHAT Operating Systems/Architectures DOES IT RUN ON?
20
21  This code has been written to compile on Linux, AIX, and Windows.  Both
22  on a 32bit and 64bit environments on Intel and Power.  There should be no
23  compatibility issues at the time of compilation or execution.  If you have
24  the time and can expand that list of OS/Arch types please feel free.
25
26DOCUMENTATION:
27
28  At present, the only documentation provided with disktest is the man page
29  which is included with the source files as man1/disktest.1.  You can either
30  install it as a man page on your system, use groff to view it if man is
31  not available, or export the man page to another readable format such as
32  html.
33
34INSTALLING THE SOURCE:
35
36  You can install the source by untaring the source tar files:
37
38          gzip -cd disktest.<version>.tar.gz | tar xvf -
39
40  This will create a directory in the current directory of:
41
42          disktest.<version>
43
44  The directory contents that should have been included in this source package
45  are:
46
47          /
48          README        LICENSE         childmain.c  childmain.h
49          defs.h        Getopt.c        Getopt.h     globals.c
50          globals.h     main.c          main.h       Makefile.windows
51          Makefile.aix  Makefile.linux  parse.c      parse.h
52          sfunc.c       sfunc.h         threading.c  threading.h
53          usage.c       usage.h         timer.c      timer.h
54          stats.c       stats.h         io.c         io.h
55          dump.c        dump.h			signals.c    signals.h
56          CHANGELOG
57
58          man1/
59          disktest.1.gz
60
61BUILDING THE SOURCE
62
63  You will need a compiler for the machine that you want to build the source
64  for.  There is a make file included for each OS type, which will attempt to
65  use the default compiler on your system.
66
67  If you wish, create a symbolic link to the correct Makefile for the system
68  that you are compiling the code for, the following defines are used in the
69  code to #ifdef code fragments:
70
71          Windows:       -D"WINDOWS"
72          AIX:           -D"AIX"
73          Linux:         -D"LINUX"
74
75  This will set up the includes and typedefs correctly to support the
76  different system types.
77
78  Issue the make command:
79
80          "make all"
81
82  The result should be a file in the source directory that is executable with
83  'disktest' as the name.
84
85  There are other make commands defined:
86
87          "make clean"     Will remove executable and object files only
88
89          "make all-clean" Will remove executable, temp files, object files and
90                           archives (*tar* & *zip*)
91
92          "make distro"    Will repackage the source files
93
94          "make install"   Will copy man page to /usr/share/man1, and binary to
95                           /usr/bin/
96
97          "make uninstall" Will remove man page and binary out of install
98                           directories.
99
100EXECUTING
101
102  To get started, run disktest with the -? flag:
103
104          "disktest -?"
105
106  This will display a simplified usage to get started.  More descriptive
107  documentation is located in the man page, along with examples of executions
108  and output that can give you the first look and feel of how disktest will
109  receive inputs and display outputs.
110
111SO WHAT ABOUT BUGS, FEATURES, ENHANCEMENTS?
112
113  It is possible that there will be issues, whether they are bugs or features
114  that would like to be added.  You can do a couple of things, one, fix/add the
115  code yourself and send it to me.  This is the fastest way to get improvements
116  into the code.  Two, You can send me a note that has a description of the
117  problem and if possible the recreate setup. I will see what I can do about
118  getting these things added to the code.
119
120  Comments are always welcome, even if it is just a note to let me know how
121  well the tool is working for you.  I am also interested in comparing the
122  tool to others people have used.  I would be interested in any feedback
123  about the usability, data output, functionality, etc. as compared to other
124  tools or testing needs.
125
126ON THE TODO LIST
127
128  - if filesystem IO testing is requested, pre-init the file if not created
129  - non-destructive read/write IO function
130  - allow user to specify complete LBA/block data
131  - RPC functionality to support client server type testing
132  - Butterfly seek option: test will seek block
133    start/end/start+1/end-1/.../end-1/start+1/end/start
134  - Ping-Pong seek option: test will seek block start/end/start/end/etc...
135  - min seek: force a minimum seek distance during any IO access
136  - max seek: force a maximum seek distance during any IO access
137  - add metric for the average response time for all IOs
138  - implement flock for filesystem testing on clusters
139  - OCFSv2 Oracle Cluster File System, compets with gpfs, gfs
140
141CONTACT
142
143  My email address is: yardleyb@us.ibm.com  (Brent Yardley)
144
145
146