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

シンボリックリンクファイルの読み出しは、vfs sys_readlink関数において、namei関数でシンボリックリンクファイルのiノードを求めた後、そのiノードのreadlinkオペレーションを呼び出す。ext2ファイルシステムでは、ext2_readlink関数(パス名が短いとき)もしくはpage_readlink関数(パスが長いとき)が呼び出される。

   ext2_readlink(シンボリックリンクファイルのdentry, 読みだし先)
      inode内に保存しているパス名をユーザ空間にコピー(vfs_readlink関数)

   page_readlink(シンボリックリンクファイルのdentry, 読みだし先...)
      ブロックをページへ読み込み(page_getlink関数)
      ブロック内のパス名をユーザ空間にコピー(vfs_readlink関数)
      ページキャッシュの解放(page_cache_release関数)

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


(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1