Linux(vfs)
ファイルシステム操作関数テーブル
マウント時にスーパーブロックテーブルに登録される
struct super_operations {
destroy_inode | iノード領域を開放する処理 | |
read_inode | iノードオブジェクトの初期化処理(kernel2.4ではチェック無しで強制的に呼んでいたため登録する必要があったが、kernel2.6で改善された。) | |
dirty_inode | 浮いたinodeの処理、journalしてるファイルシステムで使用する | |
write_inode | iノードをファイルに書き戻す | |
put_inode | iノード領域の参照数(i_nlink)をデクリメント | |
drop_inode | iノード参照数(i_nlink)がゼロのとき、iノードを削除する処理(delete_inodeを呼ぶための関数) | |
delete_inode | iノードを削除する処理(clear_inode、destroy_inodeを呼ぶことができます) | |
put_super | スーパーブロックの解放処理umount(2) | |
write_super | スーパブロック情報をディスクに書き戻す | |
sync_fs | sync時に動きます | |
write_super_lockfs | LVM等でsnapshotをとれるように用意してます | |
unlockfs | snapshotをとれた後に処理するもの | |
statfs | ファイルシステムの統計情報statfs(2)の取得処理 | |
remount_fs | remount時に動きます | |
clear_inode | iノードの解放処理 | |
umount_begin | umount(2)の延長で1段階目の処理で呼ばれます。2段階目はputsuper | |
show_options | 順編成ファイルシステム?vfat、ntfs、nfsやsmbfsで使ってます。 | |
quota_read | kernel2.6.10以降から登場。クォータ制限下でのread時使用 | |
quota_write | kernel2.6.10以降から登場。クォータ制限下でのwrite時使用 |
};