From: Benedikt Spranger <b.spranger@linutronix.de>
To: Zhihao Cheng <chengzhihao1@huawei.com>
Cc: Richard Weinberger <richard@nod.at>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-mtd <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH 1/1] ubifs: Try to recover from missing znode
Date: Wed, 9 Oct 2024 14:49:00 +0200 [thread overview]
Message-ID: <20241009144900.367f9cb4@mitra> (raw)
In-Reply-To: <351bdd98-98ac-036f-4685-56e88a102cf3@huawei.com>
On Wed, 9 Oct 2024 18:46:43 +0800
Zhihao Cheng <chengzhihao1@huawei.com> wrote:
> 在 2024/10/9 14:03, Richard Weinberger 写道:
> > ----- Ursprüngliche Mail -----
> >> Von: "chengzhihao1" <chengzhihao1@huawei.com>
> >> An: "Benedikt Spranger" <b.spranger@linutronix.de>, "linux-kernel"
> >> <linux-kernel@vger.kernel.org> CC: "linux-mtd"
> >> <linux-mtd@lists.infradead.org>, "richard" <richard@nod.at>
> >> Gesendet: Mittwoch, 9. Oktober 2024 04:23:02 Betreff: Re: [PATCH
> >> 1/1] ubifs: Try to recover from missing znode
> >
> >> 在 2024/10/8 21:33, Benedikt Spranger 写道:
> >>> After powercut on a system using ubifs mounting failed:
> >>>
> >>> 2024-09-30T12:38:26.880487+02:00 sonja kernel: UBIFS error
> >>> (ubi0:0 pid 2178): ubifs_read_node [ubifs]: bad node type (255
> >>> but expected 9) 2024-09-30T12:38:26.880506+02:00 sonja kernel:
> >>> UBIFS error (ubi0:0 pid 2178): ubifs_read_node [ubifs]: bad node
> >>> at LEB 103:46920, LEB mapping status 0
> >>> 2024-09-30T12:38:26.880509+02:00 sonja kernel: Not a node, first
> >>> 24 bytes: 2024-09-30T12:38:26.880510+02:00 sonja kernel:
> >>> 00000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> >>> ff ff ff ff ff ff ........................
> >>>
> >>> While traversing over zbranches during the journal replay one
> >>> zbranch points to a znode, which was not written to the flash and
> >>> therefore the flash is empty.
> >>
> >> UBIFS guarantees two things for znodes:
> >> 1) all index nodes(in commit seq N) are written on flash before
> >> master nodes(for commit seq N) are written.
> >> 2) all index nodes(in commit seq N) won't be erased from flash
> >> before master nodes(for commit seq N+1) are written.
> >> So, I don't understand that why znodes not exist during journal
> >> replaying?
> >
> > In addition to that, is just one znode missing or are larger parts
> > of the flash empty?
Some background:
The system producing the broken image runs on an older kernel version
(4.9.286-rt189). Attaching UBI performs without any error. It seems,
that there is only one znode missing. There are empty parts on the
flash, but as far as I can see all PEBs have UBI header Information.
The missing znode is somewhere in th middle of an PEB and other znodes
are in that PEB.
> After reviewing the TNC related code, I cannot find out any illegal
> behaviors to make znode lost or valid index LEB erased.
OK. Is it possible, that this behaviour is caused by a already fixed
bug? This happend on a system running 4.9.286-rt189.
> Hi Benedikt, could you provide a corrupted UBIFS image? Let me try
> getting more information.
I need to clarify this.
Regards
Benedikt Spranger
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Benedikt Spranger <b.spranger@linutronix.de>
To: Zhihao Cheng <chengzhihao1@huawei.com>
Cc: Richard Weinberger <richard@nod.at>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-mtd <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH 1/1] ubifs: Try to recover from missing znode
Date: Wed, 9 Oct 2024 14:49:00 +0200 [thread overview]
Message-ID: <20241009144900.367f9cb4@mitra> (raw)
In-Reply-To: <351bdd98-98ac-036f-4685-56e88a102cf3@huawei.com>
On Wed, 9 Oct 2024 18:46:43 +0800
Zhihao Cheng <chengzhihao1@huawei.com> wrote:
> 在 2024/10/9 14:03, Richard Weinberger 写道:
> > ----- Ursprüngliche Mail -----
> >> Von: "chengzhihao1" <chengzhihao1@huawei.com>
> >> An: "Benedikt Spranger" <b.spranger@linutronix.de>, "linux-kernel"
> >> <linux-kernel@vger.kernel.org> CC: "linux-mtd"
> >> <linux-mtd@lists.infradead.org>, "richard" <richard@nod.at>
> >> Gesendet: Mittwoch, 9. Oktober 2024 04:23:02 Betreff: Re: [PATCH
> >> 1/1] ubifs: Try to recover from missing znode
> >
> >> 在 2024/10/8 21:33, Benedikt Spranger 写道:
> >>> After powercut on a system using ubifs mounting failed:
> >>>
> >>> 2024-09-30T12:38:26.880487+02:00 sonja kernel: UBIFS error
> >>> (ubi0:0 pid 2178): ubifs_read_node [ubifs]: bad node type (255
> >>> but expected 9) 2024-09-30T12:38:26.880506+02:00 sonja kernel:
> >>> UBIFS error (ubi0:0 pid 2178): ubifs_read_node [ubifs]: bad node
> >>> at LEB 103:46920, LEB mapping status 0
> >>> 2024-09-30T12:38:26.880509+02:00 sonja kernel: Not a node, first
> >>> 24 bytes: 2024-09-30T12:38:26.880510+02:00 sonja kernel:
> >>> 00000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> >>> ff ff ff ff ff ff ........................
> >>>
> >>> While traversing over zbranches during the journal replay one
> >>> zbranch points to a znode, which was not written to the flash and
> >>> therefore the flash is empty.
> >>
> >> UBIFS guarantees two things for znodes:
> >> 1) all index nodes(in commit seq N) are written on flash before
> >> master nodes(for commit seq N) are written.
> >> 2) all index nodes(in commit seq N) won't be erased from flash
> >> before master nodes(for commit seq N+1) are written.
> >> So, I don't understand that why znodes not exist during journal
> >> replaying?
> >
> > In addition to that, is just one znode missing or are larger parts
> > of the flash empty?
Some background:
The system producing the broken image runs on an older kernel version
(4.9.286-rt189). Attaching UBI performs without any error. It seems,
that there is only one znode missing. There are empty parts on the
flash, but as far as I can see all PEBs have UBI header Information.
The missing znode is somewhere in th middle of an PEB and other znodes
are in that PEB.
> After reviewing the TNC related code, I cannot find out any illegal
> behaviors to make znode lost or valid index LEB erased.
OK. Is it possible, that this behaviour is caused by a already fixed
bug? This happend on a system running 4.9.286-rt189.
> Hi Benedikt, could you provide a corrupted UBIFS image? Let me try
> getting more information.
I need to clarify this.
Regards
Benedikt Spranger
next prev parent reply other threads:[~2024-10-09 12:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-08 13:33 [PATCH 1/1] ubifs: Try to recover from missing znode Benedikt Spranger
2024-10-08 13:33 ` Benedikt Spranger
2024-10-09 2:23 ` Zhihao Cheng
2024-10-09 2:23 ` Zhihao Cheng
2024-10-09 6:03 ` Richard Weinberger
2024-10-09 6:03 ` Richard Weinberger
2024-10-09 10:46 ` Zhihao Cheng
2024-10-09 10:46 ` Zhihao Cheng
2024-10-09 12:49 ` Benedikt Spranger [this message]
2024-10-09 12:49 ` Benedikt Spranger
2024-10-10 2:30 ` Zhihao Cheng
2024-10-10 2:30 ` Zhihao Cheng
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=20241009144900.367f9cb4@mitra \
--to=b.spranger@linutronix.de \
--cc=chengzhihao1@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--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.