https://elinux.org/index.php?title=Squashfs_support_for_MTD_subsystem&feed=atom&action=history
Squashfs support for MTD subsystem - Revision history
2024-03-29T07:24:01Z
Revision history for this page on the wiki
MediaWiki 1.31.0
https://elinux.org/index.php?title=Squashfs_support_for_MTD_subsystem&diff=38749&oldid=prev
Vapier: obsoleted by another proposal ?
2011-03-22T23:23:38Z
<p>obsoleted by another proposal ?</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 23:23, 22 March 2011</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l44" >Line 44:</td>
<td colspan="2" class="diff-lineno">Line 44:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Comments ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Comments ==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Isn't this obsoleted by [[Support read-only block filesystems on MTD flash]]?</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Project proposals 2011]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Project proposals 2011]]</div></td></tr>
<!-- diff cache key elinux:diff::1.12:old-33379:rev-38749 -->
</table>
Vapier
https://elinux.org/index.php?title=Squashfs_support_for_MTD_subsystem&diff=33379&oldid=prev
Plougher at 21:02, 31 January 2011
2011-01-31T21:02:30Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:02, 31 January 2011</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l18" >Line 18:</td>
<td colspan="2" class="diff-lineno">Line 18:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The following two tasks will be undertaken:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The following two tasks will be undertaken:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Write a user-space utility that writes Squashfs filesystems to NAND, skipping bad</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Write a user-space utility that writes Squashfs filesystems to NAND, skipping bad blocks (and record that bad bocks have been skipped in the out of band data).</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>blocks (and record that bad bocks have been skipped in the out of band data).</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Re-write the low-level squashfs_read_data() routine in the kernel squashfs code to</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Re-write the low-level squashfs_read_data() routine in the kernel squashfs code to read directly from NAND using MTD.  This will use the out of band data to determine which blocks have been skipped by the user-space utility.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>read directly from NAND using MTD.  This will use the out of band data to determine</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>which blocks have been skipped by the user-space utility.</div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It is anticipated that a major piece of the work will be the</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It is anticipated that a major piece of the work will be the</div></td></tr>
<!-- diff cache key elinux:diff::1.12:old-33373:rev-33379 -->
</table>
Plougher
https://elinux.org/index.php?title=Squashfs_support_for_MTD_subsystem&diff=33373&oldid=prev
Wmat: Added body of squashfs support for MTD subsystem
2011-01-31T20:54:47Z
<p>Added body of squashfs support for MTD subsystem</p>
<p><b>New page</b></p><div>Squashfs support for MTD subsystem<br />
<br />
; Summary: Squashfs support for MTD subsystem<br />
<br />
; Proposer: Phillip Lougher<br />
<br />
== Description ==<br />
This proposal will add MTD subsystem support to Squashfs,<br />
including bad block handling.<br />
<br />
Squashfs is already widely used on MTD devices (NAND flash etc.)<br />
in embedded systems, however, because Squashfs lacks native MTD support,<br />
this is currently performed via MTD's block device emulation (or via UBI<br />
or stored inside another MTD aware filesystem, i.e. YAFFS2/JFFS2).<br />
These solutions add unnecessary code and run-time overhead, and in the<br />
case of MTD's block device emulation, this lacks bad block support.<br />
<br />
The following two tasks will be undertaken:<br />
<br />
* Write a user-space utility that writes Squashfs filesystems to NAND, skipping bad<br />
blocks (and record that bad bocks have been skipped in the out of band data).<br />
<br />
* Re-write the low-level squashfs_read_data() routine in the kernel squashfs code to<br />
read directly from NAND using MTD. This will use the out of band data to determine<br />
which blocks have been skipped by the user-space utility.<br />
<br />
It is anticipated that a major piece of the work will be the<br />
refactoring of the squashfs_read_data() function and I/O backend<br />
in such a way that MTD support is added cleanly, minimising changes<br />
to existing critical code and without affecting performance.<br />
<br />
== Related work ==<br />
* http://thread.gmane.org/gmane.linux.kernel/962226<br />
<br />
Added MTD handling to Squashfs, without any bad block handling.<br />
Unfortunately, I (the Squashfs maintainer) considered the<br />
patch series to be overly complicated, it unnecessarily<br />
touched too much core code, and removed many performance<br />
optimisations (see http://article.gmane.org/gmane.linux.kernel/965490).<br />
<br />
== Scope ==<br />
About 2 months<br />
<br />
== Contractor Candidates ==<br />
I'm recommending myself, as the author and maintainer of<br />
Squashfs.<br />
<br />
== Comments ==<br />
<br />
[[Category:Project proposals 2011]]</div>
Wmat