HI, I use this script, it will truncate DataFS.
 
#!/bin/sh
cd /path-to-your-instance/var
../bin/zopectl stop
rm -f Data.fs_ERR
#clear
cp -p Data.fs Data.fs_ERR
rm -f Data.fs.index
#diagnostic run
#../bin/runzope
echo ""
echo "................................................................"
echo "search for number after:"
echo "          ..../var/Data.fs has invalid transaction header at NNNN"
echo -n "put the number here:"
read  CISLO
python<<_EOF
f = open("Data.fs", "ab")
f.truncate($CISLO)
f.close()
 
_EOF
#start serveru
../bin/zopectl start
dd if=Data.fs_ERR of=Data.fs.MISSING bs=1 skip=$CISLO
 
 
 
 
----- Original Message -----
From: "Michele Marcionelli" <michele.marcionelli@math.ethz.ch>

Hello

2 hours ago I wanted to go to sleep... and "unfortunately" I noticed 
that our websites were offline since about 5 hours; I coudn't start 
zope anymore because the Data.fs seems to be corrupted. The quick 
solution has been to copy a 2 days old version of the Data.fs back... 
but I still hope to recover the old Data.fs.

But wenn I try to recover it with the fsrecover.py tool I get this 
error message:

2010-05-02 00:38:39 WARNING OFS.Application Duplicate Product name
After loading Product 'Five' from '/scratch/ZOPE-BOT/current/Products',
I skipped the one in '/scratch/local/app/zope/2.8.9.1-2.3.6/lib/python/
Products'.

2010-05-02 00:38:39 WARNING Init Class 
Products.LDAPUserFolder.LDAPUserFolder.LDAPUserFolder has a security 
declaration for nonexistent method 'getAttributeOfAllObjects'
2010-05-02 00:38:39 WARNING Init Class 
Products.LDAPUserFolder.LDAPUserFolder.LDAPUserFolder has a security 
declaration for nonexistent method 'getAttributeOfAllObjects'
2010-05-02 00:38:39 WARNING Silva Silva Documents require upgrading.
There are Silva Documents which have not been upgraded to Silva 0.9.3.
Upgrade via service_extensions.

2010-05-02 00:38:40 WARNING ZODB.FileStorage Ignoring index for /
scratch/ZOPE-BOT/current/var/Data.fs
2010-05-02 00:38:51 CRITICAL ZODB.FileStorage /scratch/ZOPE-BOT/
current/var/Data.fs data record exceeds transaction record at 949568131
......