📄 fstests
字号:
#! /bin/sh# run this file as a shell scriptmkdir fstestschdir fstestsecho x - existfssed 's/^X//' >existfs <<'!Funky!Stuff!'#!/bin/csh -fset time=2if ($#argv < 1) then echo "Usage: existfs name" exit 1endifecho "tests on $1"/etc/dumpfs $1 | head -14 | tail -11mkdir $1/fststsif (! -e bin) then mkdir bin cc -o bin/write_4096 write_4096.c cc -o bin/write_8192 write_8192.c cc -o bin/rewrite_8192 rewrite_8192.c cc -o bin/read_8192 read_8192.cendifcp bin/write_4096 bin/write_8192 bin/rewrite_8192 bin/read_8192 $1/fststscd $1/fststsecho "write_4096"rm -f tst2X./write_4096 tst2rm -f tst2X./write_4096 tst2rm -f tst2X./write_4096 tst2echo "write_8192"rm -f tst2X./write_8192 tst2rm -f tst2X./write_8192 tst2rm -f tst2X./write_8192 tst2echo "rewrite_8192"X./rewrite_8192 tst2X./rewrite_8192 tst2X./rewrite_8192 tst2echo "read_8192"X./read_8192 tst2X./read_8192 tst2X./read_8192 tst2echo "done"!Funky!Stuff!echo x - newtstssed 's/^X//' >newtsts <<'!Funky!Stuff!'#!/bin/csh -fset echoset time=2if ($#argv < 2) then echo "Usage: newtsts special disk-type" exit 1endifecho "8K/1K file system on $1 type $2"/etc/newfs $1 $2/etc/mount $1 /mntmkdir /mnt/fststsif (! -e bin) then mkdir bin cc -o bin/write_4096 write_4096.c cc -o bin/write_8192 write_8192.c cc -o bin/rewrite_8192 rewrite_8192.c cc -o bin/read_8192 read_8192.cendifecho "write_4096"rm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2echo "write_8192"rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2echo "rewrite_8192"bin/rewrite_8192 /mnt/fststs/tst2bin/rewrite_8192 /mnt/fststs/tst2bin/rewrite_8192 /mnt/fststs/tst2echo "read_8192"bin/read_8192 /mnt/fststs/tst2bin/read_8192 /mnt/fststs/tst2bin/read_8192 /mnt/fststs/tst2umount $1syncechoecho "4K/1K file system on $1 type $2"newfs $1 $2mount $1 /mntmkdir /mnt/fststsrm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_4096 /mnt/fststs/tst2echo "write_8192"rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2rm -f /mnt/fststs/tst2bin/write_8192 /mnt/fststs/tst2echo "rewrite_8192"bin/rewrite_8192 /mnt/fststs/tst2bin/rewrite_8192 /mnt/fststs/tst2bin/rewrite_8192 /mnt/fststs/tst2echo "read_8192"bin/read_8192 /mnt/fststs/tst2bin/read_8192 /mnt/fststs/tst2bin/read_8192 /mnt/fststs/tst2echo "done"!Funky!Stuff!echo x - read_8192.csed 's/^X//' >read_8192.c <<'!Funky!Stuff!'#define BUFSIZ 8192main(argc, argv) int argc; char *argv[];{ char buf[BUFSIZ]; int i, j; if (argc < 2) { printf("Usage: read_8192 file\n"); exit(1); } j = open(argv[1], 0); if (j < 0) { perror(argv[1]); exit(2); } for (i = 0; i < 1024; i++) read(j, buf, BUFSIZ);}!Funky!Stuff!echo x - readchk.csed 's/^X//' >readchk.c <<'!Funky!Stuff!'#define BUFSIZ 4096main(argc, argv) int argc; char *argv[];{ int buf[BUFSIZ / sizeof(int)]; int i, j, k; if (argc != 2) { printf("Usage: readchk file\n"); exit(1); } j = creat(argv[1], 0666); if (j < 0) { perror(argv[1]); exit(2); } for (i = 0; i < 2048; i++) { for (k = 0; k < BUFSIZ / sizeof(int); k++) buf[k] = i + k; if (write(j, buf, BUFSIZ) != BUFSIZ) { perror("write"); exit(3); } } close(j); j = open(argv[1], 0); if (j < 0) { perror(argv[1]); exit(4); } for (i = 0; i < 2048; i++) { if (read(j, buf, BUFSIZ) != BUFSIZ) { perror("read"); exit(5); } for (k = 0; k < BUFSIZ / sizeof(int); k++) if (buf[k] != i + k) printf("bad data at %d\n", tell(j) - BUFSIZ + 4 * k); }}!Funky!Stuff!echo x - rewrite_8192.csed 's/^X//' >rewrite_8192.c <<'!Funky!Stuff!'#define BUFSIZ 8192main(argc, argv) int argc; char *argv[];{ char buf[BUFSIZ]; int i, j; if (argc < 2) { printf("Usage: rewrite_8192 file\n"); exit(1); } j = open(argv[1], 2); if (j < 0) { perror(argv[1]); exit(2); } for (i = 0; i < 1024; i++) write(j, buf, BUFSIZ);}!Funky!Stuff!echo x - write_4096.csed 's/^X//' >write_4096.c <<'!Funky!Stuff!'#define BUFSIZ 4096main(argc, argv) int argc; char *argv[];{ char buf[BUFSIZ]; int i, j; if (argc < 2) { printf("Usage: write_4096 file\n"); exit(1); } j = creat(argv[1], 0666); if (j < 0) { perror(argv[1]); exit(2); } for (i = 0; i < 2048; i++) write(j, buf, BUFSIZ);}!Funky!Stuff!echo x - write_8192.csed 's/^X//' >write_8192.c <<'!Funky!Stuff!'#define BUFSIZ 8192main(argc, argv) int argc; char *argv[];{ char buf[BUFSIZ]; int i, j; if (argc < 2) { printf("Usage: write_8192 file\n"); exit(1); } j = creat(argv[1], 0666); if (j < 0) { perror(argv[1]); exit(2); } for (i = 0; i < 1024; i++) write(j, buf, BUFSIZ);}!Funky!Stuff!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -