Hi All,

Don't know how to get onto the JFFS2 mailing list. So I post my case here:

I'm using uClinux 2.4.29 on microblaze. I'm using an Atmel dataflash and the
MTD system.
I'm trying to mount on a MTD partition with JFFS2.
I can mount it, write some files and unmount it.
When I mount it again as read only, I can read the files, but if mounting
read-write, linux dies (no output, no network response).
The last JFFS2/MTD debug output is shown below.
It seems something goes wrong when it want's to erase 4 sectors as part of
garbage collection running in a thread process.
Only one file of approx. 8K was copied to the disk (why would garbage
collection be neccsary ?). Flash sector size is 1056 bytes.

---------------------------------------
adding node 2000-200d @0x0000ce4c on flash, newfrag *81ec8394
j_a_f_d_t_f: skipping frag 0x0000-0x0720; phys 0x0000ebd0
(*81ec8344->81ec8354)
j_a_f_d_t_f: skipping frag 0x0720-0x0fa7; phys 0x0000e70c
(*81ec8354->81ec8364)
j_a_f_d_t_f: skipping frag 0x0fa7-0x1000; phys 0x0000e2ec
(*81ec8364->81ec8374)
j_a_f_d_t_f: skipping frag 0x1000-0x1763; phys 0x0000d720
(*81ec8374->81ec8384)
j_a_f_d_t_f: skipping frag 0x1763-0x2000; phys 0x0000d26c
(*81ec8384->00000000)
Pass 1 complete
Pass 2 (re)starting
Pass 2: ino #1, nlink 1, ic 81ec92d0, nodes 81ecc824
Pass 2: ino #2, nlink 1, ic 81ec92bc, nodes 81ecc844
Pass 2 complete
Pass 3: ino #1, ic 81ec92d0, nodes 81ecc824
Pass 3: ino #2, ic 81ec92bc, nodes 81ecc844
Pass 3 complete
jffs2_read_super(): Getting root inode
jffs2_read_inode(): inode->i_ino == 1
getting inocache
jffs2_get_ino_cache(): ino 1
jffs2_get_ino_cache found 81ec92d0 for ino 1
jffs2_read_inode(): Got inocache at 81ec92d0
jffs2_read_inode(): ino #1 nlink is 1
jffs2_get_inode_nodes(): ino #1
Node at 0000f7d0 is a dirent node
Adding fd "services", ino #2
jffs2_add_fd_to_list( 802ba544, 81ed1c90 (->00000000))
Dirent "services" (hash 0x5fdbfbf0, ino #2
jffs2_read_inode() returning
jffs2_read_super(): d_alloc_root()
JFFS2: Garbage collect thread is pid 32
thread_should_wake(): nr_free_blocks 51, nr_erasing_blocks 4, dirty_size
0x18f4
jffs2_garbage_collect_thread sleeping...
thread_should_wake(): nr_free_blocks 51, nr_erasing_blocks 4, dirty_size
0x18f4
Starting erase of pending block 0x0000f360
Freeing all node refs for eraseblock offset 0x0000f360
Removed nodes in range 0x0000f360-0x0000f780 from ino #2
After remove_node_refs_from_ino_list:
0x0000f9f4(1)->0x0000f800(1)->0x0000f78c(1)->0x0000f5e4(1)->0x0000ef4c(1)->
0x0000ebd0(0)->0x0000eb2c(1)->0x0000e70c(0)->0x0000e58c(1)->0x0000e384(1)->
0x0000e2ec(0)->0x0000e160(1)->0x0000decc(1)->0x0000daac(1)->0x0000d720(0)->
0x0000d68c(1)->0x0000d26c(0)->0x0000ce4c(0)->0x81ecc844(0)->
---------------------------------------

Thank's for any help on this.

Finn