[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00899] Re: MINIX3 patch



稲員です。

なんか出したつもりの mail が出てなかったようで意味不明なことになってました。
失礼しました。 00898 は見なかったことにしといて下さい。

それでは新ためて。

MINIX file system での WRITE_DIR が可能になりました。
v3 file system 上での簡単なテストしかしていませんので、
他を壊していないかどうかは不明です。

既存の WRITE_DIR の algorithm では対応が難しそうだった為、
MINIX file system の場合のみ最終段階で一工夫しています。


実装に当たって遭遇した問題点:

  既存の WRITE_DIR の algorithm では最終段階で tmpdir を
  rename することで directory entry の先頭を空けようと試み
  ますが、MINIX file system では directry を rename し
  ても新な entry が作られずに現在の entry をそのまま変更して
  しまうだけなので、この方法では先頭 slot を得ることができない。

解決策:

  上記の問題を解決するため、MINIX file system の場合にはもう
  一つ新たに temporary directory を作り、先頭に持っていきた
  い file を一旦そちらに rename した上で旧 temporary を削除し
  (これで先頭が空く) そこから更に rename することで先頭に配置
  されるようにする。


基本的にはこの方法でいけると思うのですがどうでしょう?
v1, v2 file system も entry 長が 60 か 14 かの違いだと思う
のでやろうと思えばできそうですが。

なんだか(主に自分が)混乱してきたので、添付の patch は FD-3.00h.tar.gz に
対するものにしました。

-- 
Rikito INAKAZU (稲員力士) <riki1017kazu@gmail.com>

Attachment: fd300h.minix3.v3.patch.gz
Description: Binary data