From: hujianyang <hujianyang@huawei.com>
To: Artem Bityutskiy <dedekind1@gmail.com>
Cc: Richard Weinberger <richard@nod.at>,
linux-mtd <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH] UBI: add ubi_err() to report the failure of leb read
Date: Tue, 16 Dec 2014 16:02:53 +0800 [thread overview]
Message-ID: <548FE72D.5040803@huawei.com> (raw)
In-Reply-To: <548FE51D.60707@huawei.com>
On 2014/12/16 15:54, hujianyang wrote:
> If an error occur while reading from PEBs, for example, an ECC error,
> ubi_io_read() will print some error messages. But it's not enough for
> debugging. These messages don't show the mapping info for a read from
> UBIFS layer.
>
> Although UBIFS will soon print its error messages after catching the
> return value from UBI layer, multi-path reading will confuse the
> relationship between LEBs and PEBs showed by these messages.
>
> This patch adds an ubi_err() to report reading errors in the function
> ubi_eba_read_leb(). The mapping info of LEB and PEB is showed by
> this error message.
>
> Signed-off-by: hujianyang <hujianyang@huawei.com>
> ---
> drivers/mtd/ubi/eba.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c
> index b698534..b4e69e1 100644
> --- a/drivers/mtd/ubi/eba.c
> +++ b/drivers/mtd/ubi/eba.c
> @@ -477,6 +477,8 @@ out_free:
> ubi_free_vid_hdr(ubi, vid_hdr);
> out_unlock:
> leb_read_unlock(ubi, vol_id, lnum);
> + ubi_err(ubi, "err %d while reading %d bytes from offset %d of LEB %d:%d, PEB %d",
> + err, len, offset, vol_id, lnum, pnum);
> return err;
> }
>
Hi,
I met a problem that I was failed to mount a UBIFS partition.
[ 38.442770] UBI error: ubi_io_read: error -74 (ECC error) while reading 26624 bytes from PEB 54:104448, read 26624 bytes
[ 38.852461] UBI error: ubi_io_read: error -74 (ECC error) while reading 77824 bytes from PEB 346:53248, read 77824 bytes
[ 38.864142] UBIFS error (pid 1444): ubifs_recover_leb: corruption -3
[ 38.870487] UBIFS error (pid 1444): ubifs_scanned_corruption: corruption at LEB 928:55280
[ 38.878625] UBIFS error (pid 1444): ubifs_scanned_corruption: first 8192 bytes from LEB 928:55280
[ 38.892117] UBIFS error (pid 1444): ubifs_recover_leb: LEB 928 scanning failed
mount: mounting ubi1:bak on /HFFS2: failed: Structure needs cleaning
I think it is caused by an ECC error of nand flash. Do we have some methods
to mount this partition? Data losing is acceptable.
Thanks,
Hu
next prev parent reply other threads:[~2014-12-16 8:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-16 7:54 [PATCH] UBI: add ubi_err() to report the failure of leb read hujianyang
2014-12-16 8:02 ` hujianyang [this message]
2014-12-16 9:21 ` Richard Weinberger
2014-12-16 9:52 ` hujianyang
2014-12-16 9:57 ` Richard Weinberger
2014-12-16 10:34 ` hujianyang
2014-12-16 8:58 ` Richard Weinberger
2014-12-16 10:12 ` 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=548FE72D.5040803@huawei.com \
--to=hujianyang@huawei.com \
--cc=dedekind1@gmail.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