public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: llandre <r&d2@dave-tech.it>
To: "Korolev, Alexey" <alexey.korolev@intel.com>
Cc: linux-mtd@lists.infradead.org, jamie@shareable.org,
	mattjreimer@gmail.com
Subject: Re: JFFS2: file contents in case of data CRC error
Date: Sat, 02 Feb 2008 17:32:57 +0100	[thread overview]
Message-ID: <47A49B39.5010903@dave-tech.it> (raw)
In-Reply-To: <523F3D8D8C97554AA47E53DF1A05466A01880BCA@nnsmsx411.ccr.corp.intel.com>

> Ahh. The temperature tests. That explains a lot. 
> Probably device worked improperly in the test but test did not turn off
> device when NAND become unworkable. As result JFFS2 did not detect the
> problem of broken CRC on mount but did it on attempt to read the broken
> data and printed error message.
I was told by the customer that before starting the temperature test 
several files have been copied on NAND. During the temperature test the 
processor never accessed these files on NAND. Once the test has been 
completed, the files on NAND have been read back and compared to the 
original ones.

> So JFFS2 performed scan on read - found CRC error in node 
> -> JFFS2 marked node to be obsolete
Sure. This is the code snippet in function jffs2_get_inode_nodes:

if (crc != je32_to_cpu(node.i.data_crc)) {
	printk(KERN_NOTICE "jffs2_get_inode_nodes(): Data CRC failed on 		node
at 0x%08x: Read 0x%08x, calculated 0x%08x\n",
        	ref_offset(ref), je32_to_cpu(node.i.data_crc), crc);
	jffs2_mark_node_obsolete(c, ref);
	spin_lock(&c->erase_completion_lock);
	continue;
	...

> -> As result hole in the file has been formed. 
> -> You read 0x0 in the middle of the file.
I can't find the function that, in case of obsolete node, zeroes the 
chunk of data passed to user space. Can you?

> I think nobody considered such tests before. I am not sure if any file
> system may be reliable in such a case with temperature tests.
Hmm ... I don't think the environmental condition may influence JFFS2 
behaviour. The NAND used in the test is industrial grade so it is 
guaranteed by manufacturer that it works in -40/+85 degC range. JFFS2 
clearly does not anything about environment temperature. On the other 
hand I'm wondering if temperature variation caused multiple bit flipping 
in one NAND block that MTD was not able to correct and this led to the 
problem we are talking about.


-- 
llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave.eu
email: r&d2@dave-tech.it

  parent reply	other threads:[~2008-02-02 16:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-31 16:54 JFFS2: file contents in case of data CRC error llandre
2008-01-31 19:19 ` Korolev, Alexey
2008-02-01 14:00   ` llandre
2008-02-01 15:53     ` Korolev, Alexey
2008-02-01 17:43       ` Jamie Lokier
2008-02-02 17:11         ` llandre
2008-02-04 21:32           ` Jamie Lokier
2008-02-02 16:32       ` llandre [this message]
2008-02-04 14:25         ` Korolev, Alexey
2008-01-31 19:22 ` Jffss2_write_super erasing all the blocks Nikhil Bansal (nikbansa)
2008-02-02 19:30   ` SV: " Joakim Tjernlund
2008-01-31 19:42 ` JFFS2: file contents in case of data CRC error Matt Reimer
2008-01-31 22:57   ` Jamie Lokier
2008-02-01 14:01     ` llandre
2008-02-01 14:01   ` llandre
2008-02-02 17:03     ` llandre

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=47A49B39.5010903@dave-tech.it \
    --to=r&d2@dave-tech.it \
    --cc=alexey.korolev@intel.com \
    --cc=jamie@shareable.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=mattjreimer@gmail.com \
    /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