为什么sshfs没有显示在/ proc / filesystems中?

时间:2014-08-24 09:18:53

标签: linux filesystems kernel proc sshfs

高级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
➜  ~  

1 个答案:

答案 0 :(得分:2)

sshfs使用FUSE基础结构在用户空间中实施。内核不知道用户空间文件系统是单独的实体。然而,FUSE内核端基础结构本身 是内核已知的。在我的系统上:

$ cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
...
        ext4
        cramfs
...
nodev   fuse
nodev   fusectl
...

注意最后两行;内核知道fuse文件系统,它本质上是一个适配器接口,允许用户空间进程提供文件系统服务。