Hi, Boris, Richard > > > > A missing VID header plus good payload will cause UBI to stop > > attaching since it violates the IO model. > > Sure, and that's not what we want to do anyway. We basically have 2 choices > here: > > 1/ overwrite all pages starting from page 0 and ending at page 15. This will lead > to ECC errors on already written pages, and 0-filled pages for others (unless we > go for a raw write, in which case it might actually lead to ECC errors depending > on the engine). No need for overwriting all pages. I overwrite EC and VID page just for prevent of Erase power loss issue. But you hate this since FS-specific approach. According to Richard's emails, we don't need to overwrite page0, overwrite page1 Is enough. > 2/ track already written pages (by reading them first), and only writes those that > have not been written yet. That means no ECC error in that case, and no > corrupted EC/VID header as well. This is similar with my patch approach, but corrupted EC and VID headers. I have two proposals: 1. rebase my patch, and copy one idea from Miquel's patch which records the programmed pages. But page 1 should be overwrote considering the UBIFS re-erase mechanism. 2. add a new padding structure in the MTD, which is used to filling empty page in the MTD. And once FS layer detects this padding data, just ignore or trigger re-erase this block. How about you? Thanks, Bean ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/