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 系

上記マクロは使われていない。ちょっと色々な意味でキレ気味なので今日は終了。