XATTR on JFFS2

2週間ほど前にDavid Woodhouseから突っ込まれた箇所を修正。

修正箇所は

  • ノードの削除時に Delete Marker を書き込むようにする。
  • POSIX-ACLの処理で、NULL値でNULLのXATTRを更新しようとした時に-EINVALを返していたのを修正

XATR on JFFS2 Patch version.6

今まではノードを削除する時にメディア上のノードを 0xff で塗りつぶしていたわけだが、これだと実はNANDフラッシュサポートが有効の場合にBUG()を踏んでしまう。
ジャーナリングファイルシステムとして正しい振る舞いは、「このノードは削除されました」という情報を持ったノードを新しく書き込んで、次のマウント時にはこれを無視するという処理が必要になる。

今回のパッチはこれらの変更が加えられている。1000行を越える修正と、内部的ではあるが新機能の追加が行われているため、パッチのバージョンは 6 とした。
パッチの対象は http://git.infradead.org/ の mtd-2.6.git ツリー
jffs2-xattr-2.6.git ツリーは mtd-2.6.git + version.6 パッチと同等

ふはぁ、謎のバグとかあって疲れた…。