次のページ 前のページ 目次へ

7. Inode 番号

Unix の stat システムコールはファイル用の inode を返します。getwd や tar のようなライブラリコールが正しく機能するように、Coda ファイル用に改善す る必要があります。

ボリュームのマウントポイントは、Venus が statbuf 構造体の中に割当てる inode 番号の値を複雑にします。規則は次のとおりです -

  1. fid は整数 (vol<<20) + (vnode<<10) + (uniq) に変換されます。
  2. fid がボリュームのルートである場合、そのマウントポイントであるシ ンボリックリンクの inode 番号が割当てられます。

カーネルはマウントポイントのシンボリックリンクをキャッシュしてはなりませ んが、それらをカバーすることができない場合見ることはかまいません。さらに キャッシュからシンボリックリンク fid を除去する downcall が、カーネルが マウントポイントの fid を以前に見ていないという事実にかかわらず、行われ ます。

Coda 用のカーネルコードは Fid に基づき vnode (BSD), inode (Linux), FileHandle (Win) を探す lookup の仕組みを実装するために必要で、ボリュー ムのルートを正しく得るよう気をつける必要があるでしょう。


次のページ 前のページ 目次へ