我正在编写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进行监视吗?
提前致谢,
燕姿
答案 0 :(得分:1)
df(无磁盘)是否只显示您称之为“真实”的文件系统?如果是,您可以查看它的源代码。