JFFS2 Corruption.
Simon Haynes
simon at baydel.com
Tue Feb 24 07:54:09 EST 2004
On Tuesday 24 Feb 2004 12:00 pm, David Woodhouse wrote:
> On Tue, 2004-02-24 at 09:48 +0000, simon at baydel.com wrote:
> > Comitted the sin of posting a reply with the reply text first, sorry.
>
> And this time you committed the sin of including _far_ more of the
> previous mail(s) than was necessary. But I'm not feeling cruel today so
> I'll not continue to ignore you :)
>
> > I have only managed to get this to fail if the jffs2 filesystem is
> > mounted as root. I do not seem to be able to get it to close and unmount
Thanks for the reply I am really struggling with this. I appreciate that this
stuff keeps you really busy and I will try to make it as easy for you as I
can.
I only seem to get this problem if I use the SMC as root. I have put a prink
in mtdblock.c which tells me when the flush and release modules are called.
After trawling thw archives I also set the debugging level to 1. Now I get
the message mtdblock_open \n ok when the kernel mounts root.
If I boot from the network, mount the SMC, build a JFFS2 filesystem,copy
files, on umount I get a release message. I can then reboot via the network
and make changes to the JFFS2 filesystem., many times, and all is ok. If I
boot my system and I pass the root=/dev/mtdblock1 argument to the kernel it
comes up fine on the SMC. This modifies mainly files in /var. If I then
reboot the system I do not get any messages from the mtdblock flush or
release routines. Next time the filesystem is mounted it is corrupt.
I have looked int the util/MAKEDEV file and the readme but I don't know how
to select the mtdblock_ro device.
I take it what I am trying to do is possible and is suitable for a production
environment ?
Thanks again
Simon
More information about the linux-mtd
mailing list