Author: wmb Date: 2008-02-01 03:26:44 +0100 (Fri, 01 Feb 2008) New Revision: 803
Modified: ofw/fs/jffs2/jffs2.fth Log: OLPC Trac 6291 - JFFS2 problem - when there is a gap of more than 0x100 ff bytes (e.g. the tail end of a partially-written page) before some active nodes in a new page, the raw dirent scanner was giving up too soon and not seeing the nodes in the following page. I changed the scanner to search the entire remainder of the erase block.
Modified: ofw/fs/jffs2/jffs2.fth =================================================================== --- ofw/fs/jffs2/jffs2.fth 2008-01-31 23:34:01 UTC (rev 802) +++ ofw/fs/jffs2/jffs2.fth 2008-02-01 02:26:44 UTC (rev 803) @@ -742,8 +742,7 @@
\ This assumes that the entire erase block is in memory : another-node? ( adr -- false | adr' true ) - dup h# 100 + eb-end umin ( adr end-adr ) - swap ?do + eb-end swap ?do i w@ jffs2-magic = if i header-crc? if i +raw-node eb-end u<= if