【发布时间】:2014-08-24 09:18:53
【问题描述】:
关于高级 linux 编程状态的books 之一:
/proc/filesystems 条目显示内核已知的文件系统类型。请注意,此列表不是很有用,因为它不完整:文件系统可以作为内核模块动态加载和卸载。/proc/filesystems 的内容仅列出静态链接到内核或当前加载的文件系统类型.其他文件系统类型可能在系统上作为模块可用,但可能尚未加载。
现在,我有:
➜ ~ ps -C sshfs
PID TTY TIME CMD
8123 ? 00:00:00 sshfs
➜ ~ mount | grep sshfs
root@ss1: on /home/wani/tmp type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
➜ ~
但是……
➜ ~ cat /proc/filesystems | grep sshfs
➜ ~
【问题讨论】:
-
sshfs 是 fuse 文件系统,因此在用户空间执行。期望内核知道这件事很奇怪。
-
@KonstantinV.Salikhov FUSE(用户空间中的文件系统)文档 (fuse.sourceforge.net/doxygen/) 指出:FUSE 是一个可加载的内核模块。如果是,那内核为什么不知道呢?
-
Fuse 本身是一个内核模块,但不是使用 fuse 基础架构构建的文件系统
标签: linux filesystems kernel proc sshfs