From: Rick Bronson <rick@efn.org>
To: linux-mtd@lists.infradead.org
Subject: endless loop in wbuf.c?
Date: Fri, 01 Jul 2005 17:31:45 -0700 [thread overview]
Message-ID: <E1DoVv7-0004wL-00@amazonia.client.comcast.net> (raw)
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@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 __( )/( )__ |
`----------------------------------------------------------'
next reply other threads:[~2005-07-02 0:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-02 0:31 Rick Bronson [this message]
2005-07-02 12:15 ` endless loop in wbuf.c? Artem B. Bityuckiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1DoVv7-0004wL-00@amazonia.client.comcast.net \
--to=rick@efn.org \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox