projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix obvious 64-bit issues. Mounts and does basic touch, rm etc
[yaffs2.git]
/
direct
/
yaffs_fileem2k.c
diff --git
a/direct/yaffs_fileem2k.c
b/direct/yaffs_fileem2k.c
index a4baaa3c7e7825ab8436fb4b8277898436a7a19c..9ef488e3918ff4eee3b1dc34c3f85a9165f3ac6d 100644
(file)
--- a/
direct/yaffs_fileem2k.c
+++ b/
direct/yaffs_fileem2k.c
@@
-16,7
+16,7
@@
* This is only intended as test code to test persistence etc.
*/
* This is only intended as test code to test persistence etc.
*/
-const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.
17 2009-01-16 00:46:59
charles Exp $";
+const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.
21 2009-11-07 22:35:15
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-72,7
+72,7
@@
static int nops_so_far;
int ops_multiplier;
int ops_multiplier;
-static void yflash2_MaybePowerFail(
void
)
+static void yflash2_MaybePowerFail(
unsigned int chunkInNAND, int failPoint
)
{
nops_so_far++;
{
nops_so_far++;
@@
-82,6
+82,8
@@
static void yflash2_MaybePowerFail(void)
if(simulate_power_failure &&
remaining_ops < 1){
printf("Simulated power failure after %d operations\n",nops_so_far);
if(simulate_power_failure &&
remaining_ops < 1){
printf("Simulated power failure after %d operations\n",nops_so_far);
+ printf(" power failed on chunkInNAND %d, at fail point %d\n",
+ chunkInNAND, failPoint);
exit(0);
}
}
exit(0);
}
}
@@
-143,7
+145,7
@@
static int CheckInit(void)
srand(random_seed);
srand(random_seed);
- remaining_ops = (rand() % 1000) *
2
;
+ remaining_ops = (rand() % 1000) *
5
;
memset(dummyBuffer,0xff,sizeof(dummyBuffer));
memset(dummyBuffer,0xff,sizeof(dummyBuffer));
@@
-240,7
+242,7
@@
int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u
if(written != dev->nDataBytesPerChunk) return YAFFS_FAIL;
}
if(written != dev->nDataBytesPerChunk) return YAFFS_FAIL;
}
-
yflash2_MaybePowerFail(
);
+
// yflash2_MaybePowerFail(chunkInNAND,1
);
if(tags)
{
if(tags)
{
@@
-258,7
+260,7
@@
int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u
else
{
yaffs_PackedTags2 pt;
else
{
yaffs_PackedTags2 pt;
- yaffs_PackTags2(&pt,tags);
+ yaffs_PackTags2(
dev,
&pt,tags);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
@@
-291,7
+293,7
@@
int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u
}
}
}
}
- //yflash2_MaybePowerFail();
+ //yflash2_MaybePowerFail(
chunkInNAND,2
);
/* Next do the whole write */
if(data)
/* Next do the whole write */
if(data)
@@
-336,7
+338,7
@@
int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u
else
{
yaffs_PackedTags2 pt;
else
{
yaffs_PackedTags2 pt;
- yaffs_PackTags2(&pt,tags);
+ yaffs_PackTags2(
dev,
&pt,tags);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
@@
-361,7
+363,7
@@
int yflash2_WriteChunkWithTagsToNAND(yaffs_Device *dev,int chunkInNAND,const __u
}
}
}
}
- yflash2_MaybePowerFail();
+ yflash2_MaybePowerFail(
chunkInNAND,3
);
}
return YAFFS_OK;
}
return YAFFS_OK;
@@
-471,7
+473,7
@@
int yflash2_ReadChunkWithTagsFromNAND(yaffs_Device *dev,int chunkInNAND, __u8 *d
{
yaffs_PackedTags2 pt;
nread= read(h,&pt,sizeof(pt));
{
yaffs_PackedTags2 pt;
nread= read(h,&pt,sizeof(pt));
- yaffs_UnpackTags2(tags,&pt);
+ yaffs_UnpackTags2(
dev,
tags,&pt);
#ifdef SIMULATE_FAILURES
if((chunkInNAND >> 6) == 100) {
if(fail300 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){
#ifdef SIMULATE_FAILURES
if((chunkInNAND >> 6) == 100) {
if(fail300 && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR){