2

我正在写 notifyfs (目前仅适用于 linux),即:

  • 一个 fsevent 通知程序,它应该与 fuse 和网络文件系统一起使用,例如 fuse.sshfs、cifs 和 nfs。

  • gui客户端可以用来构建他们的视图的条目缓存

notifyfs 必须有一种方法来确定文件系统,如 /proc/self/mountinfo 中所报告的,是系统相关的文件系统,还是“真正的”文件系统。例如 cpuset、cgroup、devtmpfs 和 sysfs 就是我所说的系统文件系统,而 ext2、ext3 和 tmpfs、vfat 和 nfs、cifs 是“真正的”文件系统。

系统和真实文件系统之间的区别在于,真实文件系统可以通过 inotify 进行观察,而系统文件系统则不能。在 /proc 中的“文件”上放置一个 inotify 手表,您会发现它不起作用。

查看 /proc/filesystems 时,唯一的额外信息是“nodev”,它表示挂载源是否是块设备。当它是块设备时,它就不是系统文件系统。但是当它不是块设备(并且指定了 nodev)时,它并不总是系统文件系统,例如网络文件系统 cifs 和 nfs,或 tmpfs 和 ramfs。

有没有办法确定“nodev”文件系统的行为就像一个真实的文件系统,例如可以通过 inotify 观察?

提前致谢,

史蒂夫

4

1 回答 1

1

df(无磁盘)是否仅显示您称为“真实”的文件系统?如果是的话,你可以看看它的源代码。

于 2013-04-28T18:24:42.557 回答