Mercurial > yaffs-ecoscentric-gpl
changeset 64:f42d4eba1325
More stuff to fix shrinkHeader handling problem
| author | charles <charles> |
|---|---|
| date | Tue, 02 Aug 2005 04:24:22 +0000 |
| parents | 1f8272ade610 |
| children | dfb2a2e863b4 |
| files | yaffs_guts.c |
| diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -13,7 +13,7 @@ */ //yaffs_guts.c -const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.14 2005-08-01 23:36:56 charles Exp $"; +const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.15 2005-08-02 04:24:22 charles Exp $"; #include "yportenv.h" @@ -2517,6 +2517,18 @@ static int yaffs_GarbageCollectBlock(ya tags.serialNumber++; dev->nGCCopies++; + + if(tags.chunkId == 0) + { + // It is an object Id, + // We need to nuke the shrinkheader flags first + // We no longer want the shrinkHeader flag since its work is done + // and if it is left in place it will mess up scanning. + + yaffs_ObjectHeader *oh = (yaffs_ObjectHeader *)buffer; + oh->isShrink = 0; + tags.extraIsShrinkHeader = 0; + } newChunk = yaffs_WriteNewChunkWithTagsToNAND(dev, buffer, &tags,1);
