changeset 218:a3531aef506e

Clear out some redundant code, treat bad ECC chunk as deleted
author charles
date Mon, 21 Jul 2008 02:03:19 +0100
parents 6dbe40ae9e54
children 472c51d85ef1
files direct/Makefile direct/yaffs_fileem.c direct/yaffs_fileem2k.c yaffs_guts.c
diffstat 4 files changed, 9 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/direct/Makefile
+++ b/direct/Makefile
@@ -30,7 +30,7 @@ CFLAGS +=    -Wall -g $(EXTRA_COMPILE_FL
 DIRECTTESTOBJS = dtest.o yaffscfg2k.o yaffs_ecc.o yaffs_fileem.o yaffs_fileem2k.o yaffsfs.o yaffs_guts.o \
 		 yaffs_packedtags1.o yaffs_ramdisk.o yaffs_ramem2k.o \
 		 yaffs_tagscompat.o yaffs_packedtags2.o yaffs_tagsvalidity.o yaffs_nand.o \
-		 yaffs_checkptrw.o  yaffs_qsort.o \
+		 yaffs_checkptrw.o  yaffs_qsort.o
 #		 yaffs_checkptrwtest.o\
 		 
 
--- a/direct/yaffs_fileem.c
+++ b/direct/yaffs_fileem.c
@@ -83,7 +83,7 @@ static int  CheckInit(yaffs_Device *dev)
 	
 	filedisk.nBlocks = (SIZE_IN_MB * 1024 * 1024)/(16 * 1024);
 	
-	filedisk.handle = open("yaffsemfile", O_RDWR | O_CREAT, S_IREAD | S_IWRITE);
+	filedisk.handle = open("emfile512-0", O_RDWR | O_CREAT, S_IREAD | S_IWRITE);
 	
 	if(filedisk.handle < 0)
 	{
--- a/direct/yaffs_fileem2k.c
+++ b/direct/yaffs_fileem2k.c
@@ -71,7 +71,7 @@ static __u8 localBuffer[PAGE_SIZE];
 
 static char *NToName(char *buf,int n)
 {
-	sprintf(buf,"emfile2k%d",n);
+	sprintf(buf,"emfile2k-%d",n);
 	return buf;
 }
 
--- a/yaffs_guts.c
+++ b/yaffs_guts.c
@@ -5474,7 +5474,6 @@ static int yaffs_Scan(yaffs_Device * dev
 	__u8 *chunkData;
 
 	
-	//TODO  Throw all the yaffs2 stuuf out of yaffs_Scan since it is only for yaffs1 format.
 	
 	T(YAFFS_TRACE_SCAN,
 	  (TSTR("yaffs_Scan starts  intstartblk %d intendblk %d..." TENDSTR),
@@ -5540,7 +5539,7 @@ static int yaffs_Scan(yaffs_Device * dev
 
 			/* Let's have a good look at this chunk... */
 
-			if (!dev->isYaffs2 && tags.chunkDeleted) {
+			if (tags.eccResult == YAFFS_ECC_RESULT_UNFIXED || tags.chunkDeleted) {
 				/* YAFFS1 only...
 				 * A deleted chunk
 				 */
@@ -5569,17 +5568,6 @@ static int yaffs_Scan(yaffs_Device * dev
 					dev->allocationBlockFinder = blk;	
 					/* Set it to here to encourage the allocator to go forth from here. */
 					
-					/* Yaffs2 sanity check:
-					 * This should be the one with the highest sequence number
-					 */
-					if (dev->isYaffs2
-					    && (dev->sequenceNumber !=
-						bi->sequenceNumber)) {
-						T(YAFFS_TRACE_ALWAYS,
-						  (TSTR
-						   ("yaffs: Allocation block %d was not highest sequence id: block seq = %d, dev seq = %d"
-						    TENDSTR), blk,bi->sequenceNumber,dev->sequenceNumber));
-					}
 				}
 
 				dev->nFreeChunks += (dev->nChunksPerBlock - c);
@@ -5677,9 +5665,7 @@ static int yaffs_Scan(yaffs_Device * dev
 					unsigned existingSerial = in->serial;
 					unsigned newSerial = tags.serialNumber;
 
-					if (dev->isYaffs2 ||
-					    ((existingSerial + 1) & 3) ==
-					    newSerial) {
+					if (((existingSerial + 1) & 3) == newSerial) {
 						/* Use new one - destroy the exisiting one */
 						yaffs_DeleteChunk(dev,
 								  in->hdrChunk,
@@ -5793,15 +5779,6 @@ static int yaffs_Scan(yaffs_Device * dev
 						/* Todo got a problem */
 						break;
 					case YAFFS_OBJECT_TYPE_FILE:
-						if (dev->isYaffs2
-						    && oh->isShrink) {
-							/* Prune back the shrunken chunks */
-							yaffs_PruneResizedChunks
-							    (in, oh->fileSize);
-							/* Mark the block as having a shrinkHeader */
-							bi->hasShrinkHeader = 1;
-						}
-
 						if (dev->useHeaderFileSize)
 
 							in->variant.fileVariant.
@@ -6074,8 +6051,7 @@ static int yaffs_ScanBackwards(yaffs_Dev
 		} else if (state == YAFFS_BLOCK_STATE_NEEDS_SCANNING) {
 
 			/* Determine the highest sequence number */
-			if (dev->isYaffs2 &&
-			    sequenceNumber >= YAFFS_LOWEST_SEQUENCE_NUMBER &&
+			if (sequenceNumber >= YAFFS_LOWEST_SEQUENCE_NUMBER &&
 			    sequenceNumber < YAFFS_HIGHEST_SEQUENCE_NUMBER) {
 
 				blockIndex[nBlocksToScan].seq = sequenceNumber;
@@ -6086,7 +6062,7 @@ static int yaffs_ScanBackwards(yaffs_Dev
 				if (sequenceNumber >= dev->sequenceNumber) {
 					dev->sequenceNumber = sequenceNumber;
 				}
-			} else if (dev->isYaffs2) {
+			} else {
 				/* TODO: Nasty sequence number! */
 				T(YAFFS_TRACE_SCAN,
 				  (TSTR
@@ -6212,11 +6188,11 @@ static int yaffs_ScanBackwards(yaffs_Dev
 							 * had a write failure, so set up for retirement.
 							 */
 						  
-							 bi->needsRetiring = 1;
+							 /* bi->needsRetiring = 1; ??? TODO */
 							 bi->gcPrioritise = 1;
 							 						 
 							 T(YAFFS_TRACE_ALWAYS,
-							 (TSTR("Partially written block %d being set for retirement" TENDSTR),
+							 (TSTR("Partially written block %d detected" TENDSTR),
 							 blk));
 						}