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