Re: [Yaffs] YAFFS2 disk nearly full - help!

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs
Subject: Re: [Yaffs] YAFFS2 disk nearly full - help!
On Friday 06 December 2013 01:27:09 Dominic Raferd wrote:
> I am responsible for a PBX system which uses embedded uClinux on 256MB
> internal memory disk, this uses YAFFS2 filesystem and it is rapidly running
> out of memory. df used space is 240MB (96% of total) and du used space is
> 76MB. Once df gets to 100% used I guess the whole system will fail and be
> irrecoverable. I don't understand much about YAFFS but here is some info:
>
> root@G-124:~# cat /proc/yaffs
> YAFFS built:Apr 22 2010 11:02:12
> $Id: yaffs_fs.c,v 1.89 2009-11-29 21:50:10 charles Exp $
> $Id: yaffs_guts.c,v 1.98 2009-12-07 01:17:33 charles Exp $
>
>
> Device 0 "file system"
> startBlock......... 0
> endBlock........... 1951
> totalBytesPerChunk. 2048
> nDataBytesPerChunk. 2048
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 63
> nReservedBlocks.... 5
> blocksInCheckpoint. 0
> nTnodesCreated..... 97500
> nFreeTnodes........ 41
> nObjectsCreated.... 96700
> nFreeObjects....... 92
> nFreeChunks........ 8822
> nPageWrites........ 8033
> nPageReads......... 89169
> nBlockErasures..... 180
> nGCCopies.......... 4471
> garbageCollections. 72
> passiveGCs......... 0
> nRetriedWrites..... 0
> nShortOpCaches..... 10
> nRetireBlocks...... 0
> eccFixed........... 0
> eccUnfixed......... 0
> tagsEccFixed....... 0
> tagsEccUnfixed..... 0
> cacheHits.......... 20
> nDeletedFiles...... 0
> nUnlinkedFiles..... 56
> nBackgroudDeletions 0
> useNANDECC......... 1
> noTagsECC.......... 0
> isYaffs2........... 1
> inbandTags......... 0
> emptyLostAndFound.. 0
> disableLazyLoad.... 0
>
> (The mounting memory loss may be related to frequent power cuts. Is there
> anything that can be done to recover the lost memory (currently 164MB)
> before the system fails entirely?
>
> I would be very grateful for some urgent help/input, and can pay something
> for a positive resolution. (The PBX box also has an attached USB drive
> (8GB) but although this is working fine I don't believe the system can boot
> from here, and it has no local interface, only via ethernet.)


Hello Dominic

If you have a wide disparity between du and df this typically means that you
have lots of small files.

du just adds up file contents and such to estimate space used with no
knowledge of file system layout. It makes various guesses. df asks the file
system what space is in use so that is a more accurate value.

If you store a 1-byte file in Yaffs you will end up with:
1x object header chunk + 1x data chunk = 2 chunks = 4k on your system.

However that overhead is fixed, so if you have a 1MB file, it just takes up
1MB + 1x object header chunk = 1MB + 2048 bytes.

So... what are you storing that you can get rid of?