[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I currently am using a 2.4.2 kernel (2.4.2-rmk1-np2-bse) on a Brightstar
Engineering NanoEngine with the MTD drivers for my flash (an auxiliary flash
that we have on the User bus) included in the kernel and the ext2
We would like to use the JFFS2 (or the JFFS) filesystem on the flash.
Currently I have a fairly recent vintage from CVS and I am having problems
with file corruption and persistence.
If I erase the flash, mount the filesystem, copy two small files to it and
make a directory, when I unmount it and mount it again, the directory is
Do you have a recommendation on a recent version or snapshot that will
work with the 2.4.2 kernel? Do you have any recommendations on how to debug
From: David Woodhouse [mailto:email@example.com]
Sent: Friday, October 05, 2001 8:53 AM
To: Ross, Lawrence
Subject: Re: JFFS
> In the function do_write_buffer() the calls to map->write8, map->
> write16, and map->write32 pass the address of the buffer instead of
> the data to be written e.g.
> map->write16 (map, (((__u16*)buf)), adr+z);
> should be:
> map->write16 (map, ((*(__u16*)buf)), adr+z);
Yeah - there was some debate about that time as to whether we should be
using get_unaligned() or not, and in the process of doing that and then
reverting it we just stopped referencing the pointer altogether :) That
was fixed some time ago.
> I wasn't able to get the current CVS tree to work with my 2.4.2 ARM
> version of the kernel. I will admit that I tried it, got some missing
> symbol problems that I didn't see an obvious fix for (something like
> put_user_bad), then went back and fixed the above problem.
There was a patch for this on the mailing list a day or two ago. Basically
ifdef out the case BLKGETSIZE64 from the ioctl routines.
> I neither one worked for me out of the box. The JFFS v1.0 has
> similar problems to the ones you describe, the file system is gone
> across a power cycle. With JFFS v2.0 the filesystem is still there,
> but corrupted somehow. I am using the flash to store large (~1-2MB
> executables) and they are no longer executable. I will try the latest
> JFFS filesystems from CVS to see if I can get them to work.
This is _after_ you fixed the above-mentioned problem? Then please give
full reports of both, because they're not known problems.
> David - a question for you with the MTD drivers. How can I tell when
> the filesystem has been completely written to the flash? It would be
> nice to know so I can be sure not to power down until it is done.
All operations on the MTD devices except erase are synchronous. Erases of
flash blocks have a callback. In fact, erases are synchronous too at the
moment, but they won't always be that way - we'll check for completion from
All operations on both JFFS and JFFS2 are synchronous too.
To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to firstname.lastname@example.org