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.)

Thanks and regards

Dominic

--
TimeDicer: Free File Recovery from Whenever