projects
/
yaffs2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a3dcc22
)
More stuff to fix shrinkHeader handling problem
author
charles
<charles>
Tue, 2 Aug 2005 04:24:22 +0000
(
04:24
+0000)
committer
charles
<charles>
Tue, 2 Aug 2005 04:24:22 +0000
(
04:24
+0000)
yaffs_guts.c
patch
|
blob
|
history
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index f380449b48565d876b9125140b47a5beadb92c54..ad033bd156de32ddea25bb1a3337b80122b691bc 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-13,7
+13,7
@@
*/
//yaffs_guts.c
*/
//yaffs_guts.c
-const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.1
4 2005-08-01 23:36:56
charles Exp $";
+const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.1
5 2005-08-02 04:24:22
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-2517,6
+2517,18
@@
static int yaffs_GarbageCollectBlock(yaffs_Device *dev,int block)
tags.serialNumber++;
dev->nGCCopies++;
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);
newChunk = yaffs_WriteNewChunkWithTagsToNAND(dev, buffer, &tags,1);