ubifs: corrupted dirent (ENOENT), problably related to O_TMPFILE and linkat

Richard Weinberger richard.weinberger at gmail.com
Thu Sep 30 00:29:21 PDT 2021


Sebastian,

On Thu, Aug 12, 2021 at 2:01 PM Sebastian Gross
<sebastian.gross at emlix.com> wrote:
> > If you enable /sys/kernel/debug/ubifs/chk_fs, it will do a full scan
> > upon mount time.
>  > This can detect such problems. But not fix them.
>
> Much appreciated, thanks. This did in fact discover the missing inode though the dirent was there (ls did work, ls -l not).
>
> (On a related note the local ubifs_debug_info has also an entry for chk_fs but it will never be used :\)
>
>
> With the method above I was able to "poor-man's" bisect the minor kernel versions.
>
> The replay was fixed in v5.3. From there I bisected down to ee1438ce5dc4d67dd8dd1ff51583122a61f5bd9e.
> This one might be a candidate to integrate into the LTS branches.

Ohh. Right. In the past I assumed that a Fixes-Tag qualifies a patch
for stable trees, which did not work
always. :-(

> For 4.19.202 I had to pull in 988bec41318f3fa897e2f8af271bd456936d6caf also.

Be careful. This commit caused other problems that needed fixes. See
"Fixes:" tags.
I'm looking right now into rewriting ee1438 for 4.19.x such that it
can work without 988bec.

Thanks,
//richard



More information about the linux-mtd mailing list