亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nor_stress.c

?? yaffs2 source code for linux2.4/2.6. include the utile
?? C
字號:
#include "nor_stress.h"#include "yaffsfs.h"#include "yaffs_fsx.h"#include <stdio.h>#if 1#define FSX_INIT(mount_pt) do{ if(interleave_fsx) yaffs_fsx_init(mount_pt); } while(0)#define FSX_COMPLETE() do { if(interleave_fsx) yaffs_fsx_complete(); } while (0)#define FSX() \do { \  if((myrand() & 0x1) == 0){\     if(interleave_fsx) \        yaffs_fsx_do_op(); \  } \} while(0)#else#define FSX_INIT(mount_point) do { } while(0)#define FSX_COMPLETE() do { } while(0)#define FSX() do { } while(0)#endifstatic unsigned powerUps;static unsigned cycleStarts;static unsigned cycleEnds;static int interleave_fsx;char fullPathName[100];char fullPowerUpName[100];char fullStartName[100];char fullEndName[100];char fullMainName[100];char fullTempMainName[100];char fullTempCounterName[100];extern int random_seed;int myrand(void) {  random_seed = random_seed * 1103515245 + 12345;  return((unsigned)(random_seed/65536) % 32768);}void MakeName(char *fullName,const char *prefix, const char *name){  strcpy(fullName,prefix);  strcat(fullName,"/");  strcat(fullName,name);}void MakeFullNames(const char *prefix){  MakeName(fullPathName,prefix,"");  MakeName(fullPowerUpName,prefix,"powerUps");  MakeName(fullStartName,prefix,"starts");  MakeName(fullEndName,prefix,"ends");  MakeName(fullMainName,prefix,"main");  MakeName(fullTempCounterName,prefix,"tmp-counter");  MakeName(fullTempMainName,prefix,"tmp-main");}static void FatalError(void){  printf("Integrity error\n");  while(1){   sleep(1);  }}static void UpdateCounter(const char *name, unsigned *val,  int initialise){  int inh=-1;  int outh=-1;  unsigned x[2];  int nread = 0;  int nwritten = 0;    x[0] = x[1] = 0;    if(initialise){    x[0] = 0;     x[1] = 1;  } else {    inh = yaffs_open(name,O_RDONLY, S_IREAD | S_IWRITE);    if(inh >= 0){      nread = yaffs_read(inh,x,sizeof(x));      yaffs_close(inh);    }    if(nread != sizeof(x) ||       x[0] + 1 != x[1]){      printf("Error reading counter %s handle %d, x[0] %u x[1] %u last error %d\n",              name, inh, x[0], x[1],yaffsfs_GetLastError());      FatalError();                  }    x[0]++;    x[1]++;  }    FSX();  outh = yaffs_open(fullTempCounterName, O_RDWR | O_TRUNC | O_CREAT, S_IREAD | S_IWRITE);  if(outh >= 0){   FSX();     nwritten = yaffs_write(outh,x,sizeof(x));    FSX();    yaffs_close(outh);    FSX();    yaffs_rename(fullTempCounterName,name);    FSX();  }    if(nwritten != sizeof(x)){      printf("Error writing counter %s handle %d, x[0] %u x[1] %u\n",              name, inh, x[0], x[1]);      FatalError();  }    *val = x[0];    printf("##\n"         "## Set counter %s to %u\n"         "##\n", name,x[0]);}static void dump_directory_tree_worker(const char *dname,int recursive){	yaffs_DIR *d;	yaffs_dirent *de;	struct yaffs_stat s;	char str[1000];				d = yaffs_opendir(dname);		if(!d)	{		printf("opendir failed\n");	}	else	{		while((de = yaffs_readdir(d)) != NULL)		{			strcpy(str,dname);			strcat(str,"/");			strcat(str,de->d_name);						yaffs_lstat(str,&s);						printf("%s inode %d obj %x length %d mode %X ",str,s.st_ino,de->d_dont_use,(int)s.st_size,s.st_mode);			switch(s.st_mode & S_IFMT)			{				case S_IFREG: printf("data file"); break;				case S_IFDIR: printf("directory"); break;				case S_IFLNK: printf("symlink -->");							  if(yaffs_readlink(str,str,100) < 0)								printf("no alias");							  else								printf("\"%s\"",str);    							  break;				default: printf("unknown"); break;			}						printf("\n");			if((s.st_mode & S_IFMT) == S_IFDIR && recursive)				dump_directory_tree_worker(str,1);				                        if(s.st_ino > 10000)                          FatalError();									}				yaffs_closedir(d);	}}static void dump_directory_tree(const char *dname){	dump_directory_tree_worker(dname,1);	printf("\n");	printf("Free space in %s is %d\n\n",dname,(int)yaffs_freespace(dname));}#define XX_SIZE 500static unsigned xx[XX_SIZE];static int yWriteFile(const char *fname, unsigned sz32){	int h;	int r;	int i;	unsigned checksum = 0;		printf("Writing file %s\n",fname);	FSX();	h = yaffs_open(fname,O_RDWR | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE);	FSX();	if(h < 0){		printf("could not open file %s\n",fname);		return h;	}        xx[0] = sz32;        checksum ^= xx[0];	if((r = yaffs_write(h,xx,sizeof(unsigned))) != sizeof(unsigned)){		goto WRITE_ERROR;	}        FSX();	while(sz32> 0){        	for(i = 0; i < XX_SIZE; i++){        	  xx[i] = sz32 + i;        	  checksum ^= xx[i];                }                                FSX();		if((r = yaffs_write(h,xx,sizeof(xx))) != sizeof(xx)){			goto WRITE_ERROR;		}		sz32--;	}	xx[0] = checksum;	FSX();	if((r = yaffs_write(h,xx,sizeof(unsigned))) != sizeof(unsigned)){		goto WRITE_ERROR;	}		FSX();	yaffs_close(h);	return 0;WRITE_ERROR:	printf("ywrite error at position %d\n",(int)yaffs_lseek(h,0,SEEK_END));	yaffs_close(h);	return -1;	}static int yVerifyFile(const char *fName){	unsigned checksum = 0;	unsigned totalSize;	unsigned sz32;	unsigned recordedSize = 0;	int r;	int h;	int i;	int retval = 0;        printf("Verifying file %s\n",fName);        		h = yaffs_open(fName, O_RDONLY,S_IREAD | S_IWRITE);	if(h < 0){		printf("could not open file %s\n",fName);		return -1;	}	totalSize = yaffs_lseek(h,0,SEEK_END);	yaffs_lseek(h,0,SEEK_SET);	r = yaffs_read(h,&sz32,sizeof(sz32));	if(r != sizeof(sz32)){		printf("reading size failed ... returned %d\n",r);		yaffs_close(h);		return -1;	}		recordedSize = sz32 * sizeof(xx) + 8;	printf("verify %s: file size is %d, recorded size is %d\n", fName, totalSize, recordedSize);	if(totalSize != recordedSize){		printf("!!!!!!!!!!!!!!!!!!!!!!!!file size is wrong, should be %d, is %d\n", recordedSize,totalSize);		yaffs_close(h);		return -1;	}	checksum ^= sz32;	while(sz32 > 0){		r = yaffs_read(h,xx,sizeof(xx));		if(r != sizeof(xx)){			printf("!!!!!!!!!!!!!!!!!!!!!!!!!!reading data failed ... returned %d\n",r);			yaffs_close(h);			return -1;		}		for(i = 0; i < XX_SIZE; i++)		  checksum ^= xx[i];		sz32--;	}	r = yaffs_read(h,xx,sizeof(xx[0]));	if(r != sizeof(xx[0])){		printf("!!!!!!!!!!!!!!!!!!!!!!!!!!reading data failed ... returned %d\n",r);		yaffs_close(h);		return -1;	}		checksum ^= xx[0];	if(checksum != 0){		printf("!!!!!!!!!!!!!!!!!!!!! checksum failed\n");		retval = -1;        } else		printf("verified ok\n");	yaffs_close(h);	return retval;}static void DoUpdateMainFile(void){        int result;        int sz32;        sz32 = (myrand() % 1000)   + 20;        	result = yWriteFile(fullTempMainName,sz32);	FSX();	if(result)	    FatalError();	yaffs_rename(fullTempMainName,fullMainName);	FSX();}static void DoVerifyMainFile(void){        int result;	result = yVerifyFile(fullMainName);	if(result)	    FatalError();}void NorStressTestInitialise(const char *prefix){  MakeFullNames(prefix);    UpdateCounter(fullPowerUpName,&powerUps,1);  UpdateCounter(fullStartName,&cycleStarts,1);  UpdateCounter(fullEndName,&cycleEnds,1);  UpdateCounter(fullPowerUpName,&powerUps,1);  DoUpdateMainFile();  DoVerifyMainFile();}void NorStressTestRun(const char *prefix, int n_cycles, int do_fsx){  interleave_fsx = do_fsx;  MakeFullNames(prefix);  FSX_INIT(prefix);      dump_directory_tree(fullPathName);    UpdateCounter(fullPowerUpName,&powerUps,0);  dump_directory_tree(fullPathName);    while(n_cycles < 0 || n_cycles > 0){    if(n_cycles > 0)      n_cycles--;    UpdateCounter(fullStartName, &cycleStarts,0);    dump_directory_tree(fullPathName);    DoVerifyMainFile();    DoUpdateMainFile();    dump_directory_tree(fullPathName);      UpdateCounter(fullEndName,&cycleEnds,0);    dump_directory_tree(fullPathName);  }  FSX_COMPLETE();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美视频在线观看| 国产喂奶挤奶一区二区三区| 成人午夜电影网站| 蜜桃在线一区二区三区| 六月婷婷色综合| 精品在线播放午夜| 国产一区在线看| 国产丶欧美丶日本不卡视频| 国产成人av在线影院| 成人综合婷婷国产精品久久| 不卡的av网站| 欧美午夜不卡视频| 日韩一级欧美一级| 久久久高清一区二区三区| 欧美国产成人在线| 亚洲美女电影在线| 日韩1区2区3区| 激情综合色播五月| 91小视频在线免费看| 欧美老女人在线| 欧美精品一区二区三区蜜臀| 中文字幕一区二区三| 亚洲国产精品一区二区www在线| 强制捆绑调教一区二区| 国产成人自拍在线| 欧美三区在线视频| 国产校园另类小说区| 亚洲制服欧美中文字幕中文字幕| 日韩电影在线看| 波多野结衣中文字幕一区| 欧美在线视频不卡| 久久精品亚洲麻豆av一区二区 | 日韩视频免费观看高清完整版在线观看 | 懂色av中文字幕一区二区三区| 久久99久久99精品免视看婷婷| 成人18精品视频| 777精品伊人久久久久大香线蕉| 国产欧美一区二区精品秋霞影院 | 国产曰批免费观看久久久| 在线观看欧美精品| 久久精品人人做人人爽97| 亚洲成人av电影在线| jlzzjlzz国产精品久久| 精品国精品国产尤物美女| 亚洲欧美另类综合偷拍| 国产麻豆精品95视频| 欧美日韩国产精品成人| 中文在线一区二区| 毛片av一区二区三区| 欧美色综合网站| 国产精品久久精品日日| 激情文学综合网| 91麻豆精品国产91久久久久| 亚洲男人的天堂网| 懂色av中文字幕一区二区三区| 日韩欧美aaaaaa| 三级亚洲高清视频| 欧美在线小视频| 亚洲卡通欧美制服中文| 成人黄色电影在线| 中文字幕免费在线观看视频一区| 美女一区二区在线观看| 69久久夜色精品国产69蝌蚪网| 亚洲一二三区在线观看| 91精品1区2区| 亚洲一区二区三区三| 99视频精品全部免费在线| 国产欧美日韩另类一区| 黑人巨大精品欧美一区| 日韩三级在线观看| 日韩国产欧美一区二区三区| 欧美久久一二区| 午夜精品影院在线观看| 欧美日精品一区视频| 亚洲一区二区三区小说| 欧美丝袜丝交足nylons| 无码av免费一区二区三区试看| 欧美最猛性xxxxx直播| 亚洲一二三四区| 91精品国产福利| 久久99久久99精品免视看婷婷| 欧美哺乳videos| 国产精品中文欧美| 国产欧美精品一区| 色天天综合色天天久久| 亚洲图片欧美综合| 制服.丝袜.亚洲.中文.综合| 免费成人在线播放| 久久麻豆一区二区| av在线这里只有精品| 亚洲国产日韩在线一区模特| 欧美猛男男办公室激情| 精品一区二区影视| 国产精品久久久久久一区二区三区| 不卡一区二区在线| 亚洲va中文字幕| 久久亚洲综合色一区二区三区| 成人av动漫在线| 亚洲一二三专区| 久久久久99精品国产片| 91久久人澡人人添人人爽欧美| 天使萌一区二区三区免费观看| 久久这里只有精品6| 波多野结衣亚洲一区| 亚洲国产欧美一区二区三区丁香婷 | 国产成人亚洲综合a∨猫咪| 中文字幕一区二区三区不卡| 欧美精品黑人性xxxx| 国产福利一区在线| 午夜精品久久久久久久99樱桃| 日韩精品一区二区在线观看| 91玉足脚交白嫩脚丫在线播放| 午夜私人影院久久久久| 中文字幕久久午夜不卡| 制服丝袜在线91| 91在线视频免费观看| 日韩av一区二区三区四区| 亚洲国产精华液网站w| 欧美精选午夜久久久乱码6080| 国产99久久久国产精品免费看| 天天综合天天综合色| 亚洲色大成网站www久久九九| 欧美一激情一区二区三区| av影院午夜一区| 九一九一国产精品| 日韩黄色一级片| 亚洲男人天堂av网| 国产视频在线观看一区二区三区| 欧美日本韩国一区二区三区视频 | 美日韩黄色大片| 亚洲一区二区精品视频| 国产精品美女久久福利网站| 欧美不卡一区二区三区| 欧美三级一区二区| 91精品福利视频| 91小视频免费观看| 成人黄色av电影| 成人免费视频一区| 国产91精品在线观看| 国产麻豆视频一区二区| 黄色精品一二区| 美女性感视频久久| 美女网站在线免费欧美精品| 日韩精品国产精品| 午夜影院久久久| 亚州成人在线电影| 天天影视涩香欲综合网| 日韩高清欧美激情| 奇米影视一区二区三区小说| 日韩国产欧美在线视频| 蜜臀av性久久久久av蜜臀妖精 | 日本高清不卡在线观看| 91蜜桃网址入口| 色拍拍在线精品视频8848| 99国产一区二区三精品乱码| www.欧美色图| 91国产丝袜在线播放| 91黄色免费版| 欧美一区二区福利在线| 日韩久久久久久| 久久久久88色偷偷免费| 国产精品欧美一区喷水| 亚洲黄色小说网站| 石原莉奈在线亚洲三区| 精品一区二区三区免费播放| 国产大陆a不卡| eeuss鲁片一区二区三区| 99精品国产热久久91蜜凸| 欧美日韩精品系列| 亚洲精品在线电影| 中文子幕无线码一区tr| 亚洲国产精品久久久久秋霞影院| 日本视频中文字幕一区二区三区| 韩国一区二区三区| 波多野结衣在线一区| 欧美精品久久一区二区三区| 欧美不卡在线视频| 最新国产精品久久精品| 亚洲h动漫在线| 国产精品1区2区3区| 91国偷自产一区二区开放时间 | 粉嫩蜜臀av国产精品网站| 97久久超碰精品国产| 欧美二区三区的天堂| 国产欧美日韩另类视频免费观看| 亚洲男人的天堂网| 精品一区二区影视| 在线看国产日韩| 久久亚洲一级片| 五月婷婷色综合| 成人18视频日本| 久久综合九色综合97_久久久| 亚洲一区免费在线观看| 国产成人免费在线| 欧美三级三级三级| 中文字幕一区av| 国内精品免费**视频| 欧美久久一二三四区| 亚洲欧美日韩国产中文在线| 紧缚捆绑精品一区二区|