Already there is data 0x1985 shown in do_write_oneword() at a location before write (fwd)
Robert P. J. Day
rpjday at mindspring.com
Tue Jul 27 11:57:17 EDT 2004
forwarded from a colleague:
---------- Forwarded message ----------
Date: Tue, 27 Jul 2004 11:26:25 -0400
We met a situation that is write flash time out in
do_write_oneword() on Am29LV128MH, so we printed the
before-write-word,wanted-write-word, and the after-write-word. The
interesting thing is that the before-write-word always is 0x1985 in 3
times timeout write of total 52,688,813 times write, because 0x1985 is
the first mark word of any jffs2 node, so it makes me guess if a dirty
space is allocated to write by regarding this dirty space to be clean
space.
Any thought?
Another thing is in jffs2_garbage_collect_pristine() function,
the parts of the code is interesting
if (!retried && (nraw == jffs2_alloc_raw_node_ref())) {
/* Try to reallocate space and retry */
uint32_t dummy;
struct jffs2_eraseblock *jeb = &c->blocks[phys_ofs /
c->sector_size];
.....
why not here we use:
if (!retried && (nraw = jffs2_alloc_raw_node_ref())) {
....
thanks.
More information about the linux-mtd
mailing list