JFFS2 oops when writing to two partitions simultaneously

Orjan Friberg of at flatfrog.com
Tue Jan 24 04:55:57 EST 2012


Hi,

I'm in the process of narrowing down an oops that happens when doing a

   while :; do dd if=/dev/zero of=file bs=800 count=1; done

on two different JFFS2 partitions simultaneously.

The oops happens in crc32_le, coming from jffs2_write_inode_range 
(jffs2_oops attachment).


Sometimes it's sufficient to scp a file to the root partition 
immediately after boot to trigger the oops, possibly because there are 
gc threads running on both mtd partitions because of previous power 
cycles (jffs2_oops_gc attachment).

In addition to these oops, on occasion I get decompress errors instead 
which prevent me from writing to the affected partition.  In that case, 
unmounting the partition, remounting it and removing the offending file 
gets things back into working order.  That situation is harder to 
reproduce, but I thought I'd at least mention it.


I'd appreciate pointers on what to look at next.  More details below.

Thanks,
Orjan



The board is a BeagleBoard-like board (OMAP 3730/Cortex-A8) with a 256 
MB Micron NAND.  We use a slightly old kernel, 2.6.32 and the 
CodeSourcery Lite 2009q1 compiler (gcc 4.3.3).  JFFS2 kernel options:

CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
# CONFIG_JFFS2_CMODE_PRIORITY is not set
# CONFIG_JFFS2_CMODE_SIZE is not set
CONFIG_JFFS2_CMODE_FAVOURLZO=y

/proc/mtd:

dev:    size   erasesize  name
mtd0: 001e0000 00020000 "U-Boot"
mtd1: 00020000 00020000 "U-Boot Env"
mtd2: 01000000 00020000 "FlatFrog"
mtd3: 00400000 00020000 "Kernel"
mtd4: 0ea00000 00020000 "File System"


-- 
Orjan Friberg
FlatFrog Laboratories AB
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jffs2_oops
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20120124/668bc845/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jffs2_oops_gc
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20120124/668bc845/attachment-0001.ksh>


More information about the linux-mtd mailing list