File system testing

James Graves jgraves at deltamobile.com
Wed Jun 27 13:02:31 EDT 2007


Hello all,

We're running into some possible data corruption issues with some log 
files stored on a JFFS2 partition.

Our current configuration is admittedly a bit unusual.  We've got a 
2.6.11 kernel on a PowerPC processor.  However, we ported the JFFS2 and 
MTD code from a 2.6.21 kernel.  As you might guess, there were some 
other issues that prevented us from just moving to a recent kernel, 
though we're still considering that.

To start with, however, I've got some general questions on testing the 
system.

We've got a script that will write a series of files to the filesystem, 
and then read them back, checking the contents.

The script will then unmount the filesystem, and re-mount it. 
Sometimes, when reading the files again, we'll see a problem.  For 
instance, seeing nulls (0x00) instead of the expected characters.

We'll also see at least one message indicating that a node has invalid 
size (would go over the end of the erase block) and after that some 
"magic bitmask 0x1985 not found" messages.

We then modified the script to sleep after writing each file, that 
seemed to help, and the test ran longer without seeing a data corruption 
problem.  Though we did eventually see one after a long time.

So, questions:

Is this a good way to test the filesystem in general?

Is it possible to push the filesystem too hard, by reading a writing a 
lot of data all at once?  Will the reads block the writes from being 
completed?  Or block the erasing dirty eraseblocks?

Thanks,

James Graves



More information about the linux-mtd mailing list