如何确定纯系统文件系统?

时间:2013-04-28 11:53:07

标签: linux filesystems virtual

我正在编写notifyfs(目前只针对linux),即:

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

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

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

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

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

有没有办法确定“nodev”文件系统的行为类似于真正的文件系统,例如可以通过inotify进行监视吗?

提前致谢,

燕姿

1 个答案:

答案 0 :(得分:1)

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