⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fstests

📁 早期freebsd实现
💻
字号:
#! /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 + -