endless loop in wbuf.c?
Rick Bronson
rick at efn.org
Fri Jul 1 20:31:45 EDT 2005
Hi,
I seem to encounter an endless loop in wbuf.c starting at:
} else while (old_wbuf_len &&
old_wbuf_ofs == c->wbuf_ofs) {
I get hung in this loop if I do this:
umount /reserved
/usr/src/mtd/util/flash_eraseall --jffs2 /dev/mtd1
mount /reserved
cd /reserved
# < using a C program, make 5000 files of 170 bytes each in current dir,
# copying from /dev/urandom and naming "test00000.bin" thru "test04999.bin" >
cd
umount /reserved
mount /reserved
ls -Rl /reserved > ~/xx
rm -rf /reserved/* # locks up after command prompt returns + 2 seconds
My fstab looks like:
/dev/mtdblock1 /reserved jffs2 noauto,defaults 0 0
My cpu is a AT91RM9200, the mtd part is a NAND:
NAND device: Manufacturer ID: 0x98, Chip ID: 0x75 (Toshiba NAND 32MiB 3,3V 8-bit
My .config has these set:
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_AT91=y
CONFIG_MTD_NAND_IDS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_CMODE_PRIORITY=y
When I set breakpoints I find it goes thru this loop:
#0 jffs2_mark_node_obsolete (c=0xc03d5ccc, ref=0xc03d5ccc) at nodemgmt.c:390
#1 0xc00aeff8 in jffs2_garbage_collect_deletion_dirent (c=0xc03d5ccc,
jeb=0xc3614f50, f=0xc361d3a0, fd=0xc3619660) at gc.c:881
#2 0xc00add3c in jffs2_garbage_collect_live (c=0xc03d5ccc, jeb=0xc3614f50,
raw=0xc35add10, f=0xc361d3a0) at gc.c:473
#3 0xc00ad9a4 in jffs2_garbage_collect_pass (c=0xc03d5ccc) at gc.c:371
#4 0xc00b461c in jffs2_flush_wbuf_gc (c=0xc03d5ccc, ino=3277511952)
at wbuf.c:567
#5 0xc00b2a1c in jffs2_write_super (sb=0xc03d5ccc) at fs.c:381
#6 0xc00527b0 in sync_supers (dev=23756) at super.c:439
#7 0xc00516c4 in sync_old_buffers () at buffer.c:2888
#8 0xc0051b14 in kupdate (startup=0xc00164b8) at buffer.c:3060
#9 0xc001c008 in kernel_thread (fn=0xc35ce3a0, arg=0xc02e1ff8,
flags=3277644640) at process.c:389
continuously with "raw" iterating and fd->name iterating over each
file in order ie. "test00000.bin", "test00001.bin", etc
raw iterates from this line in gc.c:
raw = raw->next_phys;
Anyone else seen anything like this?
Thanks so much for any help.
Rick Bronson
_
| |
/ /__
.----------------------------------------------------------._____/ (___)
| Rick Bronson rick at efn.org Tel 541-485-7264 | (___)
| Amazonia Computing http://www.efn.org/~rick __ o |_____ (___)
| 5050 Donald Street "Onde esta dinheiro?" _`\<, | \_(___)
| Eugene, OR 97405 -- Gal Costa __( )/( )__ |
`----------------------------------------------------------'
More information about the linux-mtd
mailing list