<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 5, 2024 at 2:36 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Kinsey,<br>
<br>
On 02.02.24 23:03, Kinsey Moore wrote:<br>
> On JFFS2 file systems on NOR flash or dataflash that does not have spare<br>
> area for metadata and thus does not invoke delayed writes, it is<br>
> possible to put the file system into a state where all blocks have been<br>
> written to and all files have been deleted from the filesystem. There is<br>
> a bug in the JFFS2 file system scan routine that detects this situation<br>
> as a corrupted file system since the scan routine relies on "used" space<br>
> to discriminate a valid file system when there are blocks that need to<br>
> be erased. The correct fix would require a partial rewrite of the scan<br>
> routine, so instead this patch tracks the space marked as obsolete along<br>
> with space at the end of each block that is otherwise too small to<br>
> contain a JFFS2 node so that it can me compared with the dirty space.<br>
> Corrupted data (or otherwise non-JFFS2 blocks) will still cause this<br>
> check to fail as corrupted data isn't recognized as obsoleted (deleted)<br>
> nodes.<br>
<br>
this should be reported to the Linux JFFS2 maintainers. A test case <br>
would be also nice.<br></blockquote><div><br></div><div>I'm already communicating with the Linux MTD group over IRC and provided them an example FS image that reproduces the problem along with this patch that works around it. I should be able to get this into a test case. </div><div><br></div><div>Kinsey<br></div></div></div>