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