infinite loop in jffs2_flush_wbuf_gc()?

Rick Bronson rick at efn.org
Thu Jul 14 10:11:36 EDT 2005


David,

  In a netshell, here is the test case:

  Using 20050712 cvs mtd on an Atmel AT91RM9200 running linux-2.6.9
with a NAND part and doing:

1. Erase a jffs2 NAND partition, then mount it.
2. Make 5000 170 byte files named test0000.bin through test4999.bin in
   the partition.
3. run "ls -Rl" on the partition mount point.
4. remove all files in the partition via "rm -rf"

  A few seconds after the command line prompt appears the gc code goes
  into a 12 minute temporary "hang" loop in jffs2_flush_wbuf_gc() in
wbuf.c starting at: 

	} else while (old_wbuf_len &&
		      old_wbuf_ofs == c->wbuf_ofs) {

  Rick Bronson

> Hm. 12 minutes is a fairly significant problem. Can you report your test
> case to the mailing list?
> 
> -- 
> dwmw2
> 
> 




More information about the linux-mtd mailing list