Show page source of internal24-149-シンボリックリンクファイルの読みだし #25001

[[PageNavi(internal24-navi)]]

{{{ comment
h2w-title:シンボリックリンクファイルの読みだし
}}}
 

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

シンボリックリンクファイルの読み出しは、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 [[BR]]2000年12月09日 (土) 23時55分06秒 JST''1

[[PageNavi(internal24-navi)]]