[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241009144900.367f9cb4@mitra>
Date: Wed, 9 Oct 2024 14:49:00 +0200
From: Benedikt Spranger <b.spranger@...utronix.de>
To: Zhihao Cheng <chengzhihao1@...wei.com>
Cc: Richard Weinberger <richard@....at>, linux-kernel
<linux-kernel@...r.kernel.org>, linux-mtd <linux-mtd@...ts.infradead.org>
Subject: Re: [PATCH 1/1] ubifs: Try to recover from missing znode
On Wed, 9 Oct 2024 18:46:43 +0800
Zhihao Cheng <chengzhihao1@...wei.com> wrote:
> 在 2024/10/9 14:03, Richard Weinberger 写道:
> > ----- Ursprüngliche Mail -----
> >> Von: "chengzhihao1" <chengzhihao1@...wei.com>
> >> An: "Benedikt Spranger" <b.spranger@...utronix.de>, "linux-kernel"
> >> <linux-kernel@...r.kernel.org> CC: "linux-mtd"
> >> <linux-mtd@...ts.infradead.org>, "richard" <richard@....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
Powered by blists - more mailing lists