projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change parameters to packing/unpacking to fix mkyaffs2image compilation issue
[yaffs2.git]
/
direct
/
yaffs_fileem2k.c
diff --git
a/direct/yaffs_fileem2k.c
b/direct/yaffs_fileem2k.c
index a4baaa3c7e7825ab8436fb4b8277898436a7a19c..3fa8d3baeca47f14dc1ea6bde6fc7aa0c2fbc624 100644
(file)
--- a/
direct/yaffs_fileem2k.c
+++ b/
direct/yaffs_fileem2k.c
@@
-16,10
+16,11
@@
* 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.
23 2010-01-11 21:43:18
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
+#include "yaffs_trace.h"
#include "yaffs_flashif2.h"
#include "yaffs_guts.h"
#include "yaffs_flashif2.h"
#include "yaffs_guts.h"
@@
-72,7
+73,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
+83,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
+146,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
+243,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
+261,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(&pt,tags
, !dev->noTagsECC
);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
@@
-291,7
+294,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
+339,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(&pt,tags
,!dev->noTagsECC
);
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
__u8 * ptab = (__u8 *)&pt;
nRead = read(h,localBuffer,sizeof(pt));
@@
-361,7
+364,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
+474,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(tags,&pt
, !dev->noTagsECC
);
#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){