Re: [Yaffs] statfs call reports incorrect amount of free spa…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs
CC: Mikhail Ryleev
Old-Topics: [Yaffs] statfs call reports incorrect amount of free space
Subject: Re: [Yaffs] statfs call reports incorrect amount of free space
Hi folks

My apologies for not addressing this sooner, it got a bit lost in the
Christmas rush.

I have tested this and applied this patch to CVS.

Thanx Mikhail.


-- Charles



On Wednesday 21 December 2005 09:11, Mikhail Ryleev wrote:
> Hi, all
>
> It looks like statfs call reports incorrect amount of free space available
> on device. It is off by the number of "deleted" but "uncollected" by
> garbage collector files on device which can be signifficant in certain
> cases. Such files belongs to "deleted" directory and while the amount of
> space occupiend by data in such files is acounted as free, the entry in
> directory is NOT.
>
> The proposed fix does two things:
>
> 1: nDeletedFiles variable would correctly count the number of "deleted"
> but uncollected files
> 2: the number of free blocks is adjusted by that value.
>
>
> --- ./old/yaffs_guts.c 2005-12-19 20:02:18.000000000 -0800
> +++ ./yaffs_guts.c 2005-12-20 11:54:58.000000000 -0800
> @@ -2346,6 +2346,7 @@
>         ("yaffs: About to finally delete object %d"
>          TENDSTR), object->objectId));
>      yaffs_DoGenericObjectDeletion(object);
> +    object->myDev->nDeletedFiles--;
>     }

>
>    }
> @@ -5690,6 +5691,8 @@
>   nFree = yaffs_CountFreeChunks(dev);
>  #endif

>
> +    nFree += dev->nDeletedFiles;
> +
>   /* Now count the number of dirty chunks in the cache and subtract those
> */

>
> {