<div>Hi, all</div>
<div>&nbsp;</div>
<div>It looks like statfs call reports incorrect amount of free space available on device. It is off by the number of &quot;deleted&quot; but &quot;uncollected&quot; by garbage collector&nbsp;files on device which can be signifficant in certain cases. 
</div>
<div>Such files&nbsp;belongs to&nbsp;&quot;deleted&quot; directory and while the amount of space occupiend by data in such files&nbsp;is acounted as free, the entry in directory is NOT.</div>
<div>&nbsp;</div>
<div>The proposed fix does two things:</div>
<div>&nbsp;</div>
<div>1:&nbsp; nDeletedFiles variable would correctly count the number of &quot;deleted&quot; but uncollected&nbsp;files</div>
<div>2:&nbsp; the&nbsp;number of free blocks is adjusted by that value. </div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>--- ./old/yaffs_guts.c&nbsp;2005-12-19 20:02:18.000000000 -0800<br>+++ ./yaffs_guts.c&nbsp;2005-12-20 11:54:58.000000000 -0800<br>@@ -2346,6 +2346,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (&quot;yaffs: About to finally delete object %d&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TENDSTR), object-&gt;objectId));
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yaffs_DoGenericObjectDeletion(object);<br>+&nbsp;&nbsp;&nbsp;&nbsp;object-&gt;myDev-&gt;nDeletedFiles--;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>@@ -5690,6 +5691,8 @@<br>&nbsp;&nbsp;nFree = yaffs_CountFreeChunks(dev);<br>&nbsp;#endif<br>&nbsp;<br>+&nbsp;&nbsp;&nbsp; nFree += dev-&gt;nDeletedFiles;
<br>+<br>&nbsp;&nbsp;/* Now count the number of dirty chunks in the cache and subtract those */<br>&nbsp;<br>&nbsp;&nbsp;{<br>&nbsp;</div>