Nehal J Wani
Nehal J Wani

Reputation: 16639

Why is sshfs not shown in /proc/filesystems?

One of the books on advanced linux programming states:

The /proc/filesystems entry displays the file system types known to the kernel. Note that this list isn't very useful because it is not complete: File systems can be loaded and unloaded dynamically as kernel modules.The contents of /proc/filesystems list only file system types that either are statically linked into the kernel or are currently loaded. Other file system types may be available on the system as modules but might not be loaded yet.

Now, I have:

➜  ~  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)
➜  ~  

But ...

➜  ~  cat /proc/filesystems | grep sshfs
➜  ~  

Upvotes: 0

Views: 956

Answers (1)

thkala
thkala

Reputation: 86403

sshfs is implemented in userspace using the FUSE infrastructure. Userspace filesystems are not known to the kernel as a separate entity. The FUSE kernel-side infrastructure itself, however, is known to the kernel. On my system:

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

Note the last two lines; the kernel is aware of a fuse filesystem, which is essentially an adapter interface that lets filesystem services to be provided by userspace processes.

Upvotes: 2

Related Questions