<div>I see&nbsp;exactly the same problem, and I think&nbsp;the bug is in yaffs_ScanBackwards routine. </div>
<div>&nbsp;</div>
<div>The solution that I have at this point is to delete the following lines in yaffs_ScanBackwards routine:</div>
<div>&nbsp;</div>
<div>.......</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yaffs_AddObjectToDirectory(parent, in);</div>
<div>
<p>#if 0&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((parent == dev-&gt;deletedDir ||<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parent == dev-&gt;unlinkedDir)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* If it is unlinked at start up then it wants deleting */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in-&gt;deleted = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>#endif&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (oh-&gt;isShrink) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Mark the block as having a shrinkHeader */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bi-&gt;hasShrinkHeader = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>.......</p>
<p>Setting&nbsp;&nbsp;&nbsp;&nbsp;in-&gt;deleted&nbsp;to 1 here does not have much sense at least if this&nbsp;objects is in unlinked list. If you do that than&nbsp;the object gonna have both &quot;unlinked&quot; and &quot;deleted&quot; flags set and yaffs_DestroyObject does nothing&nbsp; to reclaim space.&nbsp;If you modify this code as directed then all files in &quot;unlinked&quot; state will be moved in &quot;deleted&quot; state after scan complete and they will be reclaimed at garbage collection time. 
</p>
<p>I am not sure that this is a proper fix though, it might be a treatment for symptom and not the cause. I would like to have some feedback from guys who really understand what is going on here. </p>
<p>M. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;<br></p>
<p>&nbsp;</p>
<p>&nbsp;</p></div>