1f08c3bdfSopenharmony_ci
2f08c3bdfSopenharmony_ci$Id: README,v 1.1 2001/08/27 22:15:12 plars Exp $
3f08c3bdfSopenharmony_ci
4f08c3bdfSopenharmony_ciThis file contains some very basic information on:
5f08c3bdfSopenharmony_ci   iogen/doio and rwtest
6f08c3bdfSopenharmony_ci   growfiles
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ciAll tools use the -h flag for printing some form of help (sometimes voluminous).
9f08c3bdfSopenharmony_ciThey are extremely configurable; the examples below are some common uses.
10f08c3bdfSopenharmony_ciRead the help and experiment!   This testing tools were originally written
11f08c3bdfSopenharmony_cito test UNICOS's NC1 and IRIX XFS filesystems.
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciIOGEN & DOIO
15f08c3bdfSopenharmony_ci=============
16f08c3bdfSopenharmony_ci
17f08c3bdfSopenharmony_ciThis is a pair of programs that does basic I/O operations on a set of files.
18f08c3bdfSopenharmony_ciThe file offset, I/O length, I/O operation, and what open(2) flags are
19f08c3bdfSopenharmony_ciselected randomly from a pre-defined or commandline given set. All data
20f08c3bdfSopenharmony_ciwritten can be verified (this is the usual method).
21f08c3bdfSopenharmony_ci
22f08c3bdfSopenharmony_cirwtest is a shell script that is a wrapper of iogen and doio.
23f08c3bdfSopenharmony_ci
24f08c3bdfSopenharmony_ciExamples:
25f08c3bdfSopenharmony_ci---------
26f08c3bdfSopenharmony_ci# run forever:  8 process - using record locks
27f08c3bdfSopenharmony_ciiogen -i 0 100000b:doio_1 | doio -av -n 8 -m 1000
28f08c3bdfSopenharmony_ci
29f08c3bdfSopenharmony_ci# run forever:  8 process - using record locks
30f08c3bdfSopenharmony_ciiogen -i 0 100000b:doio_2 | doio -akv -n 8 -m 1000
31f08c3bdfSopenharmony_ci
32f08c3bdfSopenharmony_ci# run forever: max i/o 64b, to /tmp/rwtest01%f, which 500b in size
33f08c3bdfSopenharmony_cirwtest -c -i 0 -T 64b 500b:/tmp/rwtest01%f
34f08c3bdfSopenharmony_ci
35f08c3bdfSopenharmony_ci
36f08c3bdfSopenharmony_ci
37f08c3bdfSopenharmony_ciGROWFILES
38f08c3bdfSopenharmony_ci=============
39f08c3bdfSopenharmony_ci
40f08c3bdfSopenharmony_ciGrowfiles will create and truncate files in gradual steps using write, and
41f08c3bdfSopenharmony_cilseek. All system calls are checked for proper returns. The writes or the
42f08c3bdfSopenharmony_ciwhole file content can be verified.  It can cause disk fragmentation.
43f08c3bdfSopenharmony_ci
44f08c3bdfSopenharmony_ci
45f08c3bdfSopenharmony_ciExamples:
46f08c3bdfSopenharmony_ci---------
47f08c3bdfSopenharmony_cigrowfiles -E output:
48f08c3bdfSopenharmony_ci# run forever: writes of 4090 bytes then on every 100 iterval
49f08c3bdfSopenharmony_ci# truncate file by 408990 bytes.  Done to 200 files in dir1.
50f08c3bdfSopenharmony_cigrowfiles -i 0 -g 4090 -T 100 -t 408990 -l -C 10 -c 1000 -d dir1 -S 200
51f08c3bdfSopenharmony_ci
52f08c3bdfSopenharmony_ci# same as above with writes of 5000 bytes and truncs of 499990
53f08c3bdfSopenharmony_cigrowfiles -i 0 -g 5000 -T 100 -t 499990 -l -C 10 -c 1000 -d dir2 -S 200
54f08c3bdfSopenharmony_ci
55f08c3bdfSopenharmony_ci# runs forever: beats on opens and closes of file ocfile - no io
56f08c3bdfSopenharmony_cigrowfiles -i 0 -g 0 -c 0 -C 0 ocfile
57f08c3bdfSopenharmony_ci
58f08c3bdfSopenharmony_ci# writes 4096 to files until 50 blocks are written
59f08c3bdfSopenharmony_cigrowfiles -i 0 -g 4096 -B 50b file1 file2
60f08c3bdfSopenharmony_ci
61f08c3bdfSopenharmony_ci# write one byte to 750 files in gdir then unlinks them
62f08c3bdfSopenharmony_cigrowfiles -g 1 -C 0 -d gdir -u -S 750
63f08c3bdfSopenharmony_ci
64f08c3bdfSopenharmony_ci# run 30 secs: random iosize, random lseek up to eof
65f08c3bdfSopenharmony_ci# Only valid for one growfile process per file.
66f08c3bdfSopenharmony_cigrowfiles -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 g_rand1 g_rand2
67f08c3bdfSopenharmony_ci
68f08c3bdfSopenharmony_ci# run 30 secs: grow by lseek then write single byte, trunc every 10 itervals
69f08c3bdfSopenharmony_cigrowfiles -g 5000 -wlu -i 0 -L 30 -C 1 -T 10  g_sleek1 g_lseek2
70f08c3bdfSopenharmony_ci
71f08c3bdfSopenharmony_ci# run forever: 5 copies of random iosize, random lseek to beyond eof,
72f08c3bdfSopenharmony_ci# rand io types doing a trunc every 5 iterations, with unlinks.
73f08c3bdfSopenharmony_cigrowfiles -i0 -r 1-50000 -R 0--2 -I r -C1 -l -n5 -u -U 100-200 gf_rana gf_ranb
74f08c3bdfSopenharmony_ci
75f08c3bdfSopenharmony_ci# run forever: 5 copies of random iosize, random lseek to beyond eof,
76f08c3bdfSopenharmony_ci# random open flags, rand io types doing a trunc every 10 iterations.
77f08c3bdfSopenharmony_cigrowfiles -i0 -r 1-50000 -R 0--2 -o random -I r -C0 -l -T 20 -uU100-200 -n 5 gf_rand1 gf_rand2
78f08c3bdfSopenharmony_ci
79f08c3bdfSopenharmony_ci
80