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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.