tarfs について (1)
うだうだヤッてても仕方が無いので掘り進めてみる事に。
module_init で grep してみたら super.c にその記述を発見。
module_init(init_tar_fs)
中を見てみたらケツあたりに以下の記述
static int __init init_tar_fs(void) { printk(KERN_INFO "tarfs: init_tar_fs (debug=%d)\n", tarfs_debug); return register_filesystem(&tar_fs_type); } static void __exit exit_tar_fs(void) { printk(KERN_INFO "tarfs: exit_tar_fs\n"); unregister_filesystem(&tar_fs_type); } EXPORT_NO_SYMBOLS; module_init(init_tar_fs) module_exit(exit_tar_fs)
register_filesystem って何だ、と言いつつカーネルのソースを find|xargs grep したら fs/filesystems.c に定義を発見。
ええとコメントを見るに結構平易な英語。抽象化というのはこーゆー意味ッスか、と思いつつも断定はできんな、と。
で、上記で登録なソレに渡されている tar_fs_type ですが直上で記述されているマクロ
static DECLARE_FSTYPE_DEV(tar_fs_type, "tarfs", tarfs_read_super);
がナニなのでしょうか。grep 中ですが、2.6.20 では不在??
って、*.c だけで find してるし (とほほ
と言いつつ
再確認。探し方が悪い。
んですが、ソースをさらえているだけでは微妙な模様。
2.6 系
上記マクロは使われていない。ちょっと色々な意味でキレ気味なので今日は終了。