本文通过分析内核挂载和初始化源码剖析内核是如何知道调用的是具体哪个文件系统的函数。
先来看两个函数
在系统初始化时,register_filesystem() 函数在编译内核时被调用给每个指定的文件系统;该函数插入file_system_type对象到filesystem-type列表中。
该函数也可以在一个模块实现一个文件系统被加载时调用(意思大概就是我们可以手动加载一个模块,该模块是实现一个文件系统时可以被调用)。这种情况下文件系统也可以在卸载模块是被取消注册(通过调用unregister_filesystem函数)。