All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve deRosier <derosier@gmail.com>
To: Artem Bityutskiy <dedekind1@gmail.com>
Cc: "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Subject: Re: "corrupt empty space" error on boot?!?
Date: Tue, 3 Mar 2015 07:25:10 -0800	[thread overview]
Message-ID: <CALupW3ByNuS6HgU3LQR-W4jt7xKhG7j_6OrvQ=tyWdHKV20f6Q@mail.gmail.com> (raw)
In-Reply-To: <1425367912.26652.47.camel@sauron.fi.intel.com>

Thanks Artem.

On Mon, Mar 2, 2015 at 11:31 PM, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> Yes, you are right, if there is a corruption, UBIFS can:
>
> 1. Try to understand if this is a corruption in empty space or not.
> 2. If yes, recover the LEB.
>
> But this is not implemented. People keep hitting this issue, but no one
> contributed fixes yet.
>
>> A unit not mounting the rootfs because of a bit-flip in _empty_space_
>> is unacceptable to us, so I've got to figure out a way to deal with
>> this rare event.
>
> Well, improving UBIFS would be one of the possible solutions.
>

OK, two questions then:

1. Is there anything I can do from userspace, or uboot, to recover
this filesystem?  We've got mirrored filesystems, so we actually can
detect the failure and mount the other one and fix the first from
there.  Or maybe I can mount it ro and switch to the other filesystem
and reboot?

2. I'd like to be able to replicate the problem so I can fix it, but
simply poking a random bit to a random empty PEB won't do the trick.
I've actually tried this before when doing other investigations and
nothing bad happened, likely because the empty page I hit was never
looked at by UBIFS.  I know there's got to be a way to map LEB to PEB,
how do I do that/where is the table?  Specifically, how to map "LEB
4:3918" to a physical block and page on the flash device?

I'll give fixing it and contributing the patch a try. I'm up against a
project deadline with a board-bring-up right now (they wanted it done
2 weeks ago and I'm having to report on it each day now), so I
probably won't have time on it till next week.

- Steve

  reply	other threads:[~2015-03-03 15:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-02 16:39 "corrupt empty space" error on boot?!? Steve deRosier
2015-03-03  7:31 ` Artem Bityutskiy
2015-03-03 15:25   ` Steve deRosier [this message]
2015-03-04  3:31     ` hujianyang

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='CALupW3ByNuS6HgU3LQR-W4jt7xKhG7j_6OrvQ=tyWdHKV20f6Q@mail.gmail.com' \
    --to=derosier@gmail.com \
    --cc=dedekind1@gmail.com \
    --cc=linux-mtd@lists.infradead.org \
    /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.