From: Artem Bityutskiy <dedekind1@gmail.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: "Richard Weinberger" <richard@nod.at>,
"Bean Huo 霍斌斌 \"(beanhuo)\"" <beanhuo@micron.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Subject: Re: master node can not be recovered
Date: Wed, 04 Nov 2015 10:57:59 +0200 [thread overview]
Message-ID: <1446627479.20949.47.camel@gmail.com> (raw)
In-Reply-To: <20151104094049.123e87b8@bbrezillon>
On Wed, 2015-11-04 at 09:40 +0100, Boris Brezillon wrote:
> The question is, what should we do in this case? Should we drop all
> the
> pages following the corrupted page in the LEB? Should we only drop
> the
> faulty page and parse the nodes in the valid pages we can find after
> this corruption (I don't know if it can be the case, but if some
> nodes
> depend on other nodes, doing that may not work)? Any other option?
To recap my opinion expressed in the other thread.
1. We only care about paired pages in the power cut context.
2. This means that we care about paired pages in the same places where
we care about losing data or metadata.
3. UBIFS has a number of places where it cares about data and metadata,
and paired pages story should boil down to changes those places.
Examples of the places would be: wbuf sync, the log, the master nodes,
LPT.
4. The strategy seems to be pretty simple: skipping enough pages. And
UBIFS already has the "padding" mechanism which does this.
Or in other words, whenever we have to make sure the data does not get
affected by a power cut, we skip pages. This happens when user
syncs/fsyncs/unmounts/etc, when we commit, when we write the master
node or a log nod, etc. All are limited number of places, where we
already explicitly care about power cuts.
next prev parent reply other threads:[~2015-11-04 8:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-02 16:10 master node can not be recovered Bean Huo 霍斌斌 (beanhuo)
2015-11-02 16:46 ` Richard Weinberger
2015-11-03 9:12 ` Artem Bityutskiy
2015-11-04 7:43 ` Bean Huo 霍斌斌 (beanhuo)
2015-11-04 8:03 ` Richard Weinberger
2015-11-04 8:20 ` Artem Bityutskiy
2015-11-04 8:25 ` Bityutskiy, Artem
2015-11-04 8:40 ` Boris Brezillon
2015-11-04 8:57 ` Artem Bityutskiy [this message]
2015-12-04 7:51 ` Bean Huo 霍斌斌 (beanhuo)
2015-11-03 8:32 ` Artem Bityutskiy
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=1446627479.20949.47.camel@gmail.com \
--to=dedekind1@gmail.com \
--cc=beanhuo@micron.com \
--cc=boris.brezillon@free-electrons.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).