Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
シンボリックリンクファイルの読み出しは、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秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:46:49, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members