シンボリックリンクファイルの読みだし

シンボリックリンクファイルの読み出しは、vfs sys_readlink関数にてnamei関数でシンボリックリンクファイルのiノードを求めた後、そのiノードのreadlinkオペレーションを呼び出す。ext2ファイルシステムでは、ext_readlink関数が呼び出される。

   ext2_readlink(シンボリックリンクファイルのdentry, 読みだし先)
      if(データブロックを持っている(i_blocksメンバ)) {
           データブロックの読み込み(ext2_bread関数)
           データブロック中に格納されているパス名を、読みだし先(ユーザ空間)にコピー
           データブロックの読み込んだバッファの解放(brelse関数)
      } else {
           iノード中に格納されているパス名を、読みだし先(ユーザ空間)にコピー
      }

シンボリックリンクファイルの削除は、通常ファイルと同じくunlink処理で行われる。処理手順は全く同じである。


(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST
1