From: charles Date: Mon, 21 Jul 2008 01:03:19 +0000 (+0000) Subject: Clear out some redundant code, treat bad ECC chunk as deleted X-Git-Tag: pre-name-change~276 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=94f402eb2a25625f34ff392efbcb8954478f5cfc Clear out some redundant code, treat bad ECC chunk as deleted --- diff --git a/direct/Makefile b/direct/Makefile index a65312f..e816df1 100644 --- a/direct/Makefile +++ b/direct/Makefile @@ -14,7 +14,7 @@ # # NB Warning this Makefile does not include header dependencies. # -# $Id: Makefile,v 1.17 2008-07-02 20:17:41 charles Exp $ +# $Id: Makefile,v 1.18 2008-07-21 01:03:19 charles Exp $ #EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC @@ -30,7 +30,7 @@ CFLAGS += -Wall -g $(EXTRA_COMPILE_FLAGS) 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\ diff --git a/direct/yaffs_fileem.c b/direct/yaffs_fileem.c index 30128d9..c2ae5e1 100644 --- a/direct/yaffs_fileem.c +++ b/direct/yaffs_fileem.c @@ -16,7 +16,7 @@ * This is only intended as test code to test persistence etc. */ -const char *yaffs_flashif_c_version = "$Id: yaffs_fileem.c,v 1.3 2007-02-14 01:09:06 wookey Exp $"; +const char *yaffs_flashif_c_version = "$Id: yaffs_fileem.c,v 1.4 2008-07-21 01:03:19 charles Exp $"; #include "yportenv.h" @@ -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) { diff --git a/direct/yaffs_fileem2k.c b/direct/yaffs_fileem2k.c index 82a00a2..db90496 100644 --- 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. */ -const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.14 2008-07-02 20:17:41 charles Exp $"; +const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.15 2008-07-21 01:03:19 charles Exp $"; #include "yportenv.h" @@ -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; } diff --git a/yaffs_guts.c b/yaffs_guts.c index d4ecda3..595bbc6 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -12,7 +12,7 @@ */ const char *yaffs_guts_c_version = - "$Id: yaffs_guts.c,v 1.58 2008-07-03 20:06:05 charles Exp $"; + "$Id: yaffs_guts.c,v 1.59 2008-07-21 01:03:19 charles Exp $"; #include "yportenv.h" @@ -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_Device * 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_Device * 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_Device * 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)); }