David Woodhouseから、バグの指摘を受けた。orz
一つは、過去に書き込んだノードに再書き込みをするというもの。
これは、delete_xattr_datum()関数で削除したノードがメディア上で確実に消去されるように、0xff列を書き込んでいるというものだが、jffs2の作法的にはこういった方法を使ってはいけないらしい。
替わりに、ノードを削除する場合には"delete marker"となるノードを新しく書き込むことになる。で、これはノードの削除方法という結構根本的な修正なので、かなり大掛かりな工事になる予定。
ただ、ジャーナリングファイルシステムとしては美しい。
問題は、この方法がちゃんと排他メカニズムを満足するように実装できるかどうかだ。Read-Onlyパスではread-semaphoreの獲得だけで済むようにするというのは、どうしても譲れない線だと思うので。
jffs2_reserve_space()で複数ノード分の領域を確保できたらずいぶん楽なんだが、これってできないのか。できそうに見えるが。要確認。
# それにしても週末ブロガーだなぁ。