From: Andrea Scian <rnd4@dave-tech.it>
To: Richard Weinberger <richard@nod.at>
Cc: mtd_mailinglist <linux-mtd@lists.infradead.org>
Subject: Re: UBIFS: recovery of master node
Date: Fri, 17 Jul 2015 10:04:27 +0200 [thread overview]
Message-ID: <55A8B70B.5030405@dave-tech.it> (raw)
In-Reply-To: <55A8ADA9.70402@nod.at>
Dear Richard,
Il 17/07/2015 09:24, Richard Weinberger ha scritto:
> Am 17.07.2015 um 08:58 schrieb Andrea Scian:
>> Il 16/07/2015 17:29, Richard Weinberger ha scritto:
>>> Andrea,
>>>
>>> On Thu, Jul 16, 2015 at 3:22 PM, Andrea Scian <rnd4@dave-tech.it> wrote:
>>>>
>>>> If I bypass that check too, I can mount UBIFS and everything inside the FS
>>>> is there but, of course, I'm sure I'm doing something that may be wrong..
>>>>
>>>> WDYT?
>>>
>>> So, you're facing bitflips on empty space?
>>
>> Another UBI/UBIFS "implementation" question: are there some other places,
>> apart from get_master_node(),
>> where UBIFS check empty space corruption and fails
>> badly if something wrong?
>
> Having non-corrupted empty space is a fundamental requirement of UBIFS.
> If you patch it out you'll hurt UBIFS's ability to recover from a power cut.
> Someone tried to do so already.
Thanks, this are the internals of UBIFS I'm not aware of, and for this
I'm asking the experts :-)
> I know, cheap modern NAND, especially MLC seems to show bitflips also on empty pages.
> Not all NAND controllers can deal with that and will just return an uncorrectable ECC error
> upon reading.
Is the any NAND controller able to do so? ;-)
> IMHO the right place to deal with that is MTD core.
I agree with you, however I'm handling it at lowest level, inside the
NAND controller.
I know that having this code into the MTD NAND layer will allow us to
have a "controller independent" implementation, however MTD see only a
bigger picture: for example MTD sees only a NAND page (4k in my case)
while the NAND controller usually apply ECC on smaller (1k in my case)
section and here we have the right threshold to apply (ecc_strength or
something a bit smaller if you prefer).
Finding the right threshold is, IMHO, the real trick.
> Please search the archives, Brian posted some patches some time ago.
Thanks for point this out.
I've found some patches from one year ago from Huang Shijie (@freescale)
which looks very close to mine. However I cannot see any inclusion in
the mainline.
I'll continue my research.
Thanks and kind regards,
--
Andrea SCIAN
DAVE Embedded Systems
next prev parent reply other threads:[~2015-07-17 8:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-16 13:22 UBIFS: recovery of master node Andrea Scian
2015-07-16 15:29 ` Richard Weinberger
2015-07-16 15:50 ` Andrea Scian
2015-07-17 6:58 ` Andrea Scian
2015-07-17 7:24 ` Richard Weinberger
2015-07-17 8:04 ` Andrea Scian [this message]
2015-07-17 8:10 ` Richard Weinberger
2015-07-17 8:59 ` Richard Genoud
2015-07-17 11:38 ` Artem Bityutskiy
2015-07-17 11:43 ` Richard Weinberger
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=55A8B70B.5030405@dave-tech.it \
--to=rnd4@dave-tech.it \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
/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.