在非只读文件系统中是否有安全使用非零超时的方法?我似乎找不到。以下是几个反例:
示例一(非零负输入超时):
示例二(非零攻击超时):
我无法给出一个正入口超时的反例--即使lookup()返回一些陈旧的inode,文件系统仍然可以返回ENOENT以供后面的getattr()调用。
但是上面的两个例子呢?
发布于 2014-02-08 14:30:45
仅供参考,同样的问题被张贴在保险丝邮寄名单上。
下面是关于为什么非零超时工作的凯尔·利平科特的答复:
如果create()通过内核,它将使负入口超时无效。如果创建发生在外部,则超时仍然有效。
引用戈斯温·冯·布雷德洛关于非零超时是一个问题的话:
只有在实现基于磁盘的文件系统时,缓存才能正常工作,只有fuse进程才能更改元数据,所有访问都只能通过fuse。任何覆盖文件系统,如果某些东西可以更改底层文件系统而不经过fuse,就会遇到不一致的情况。
因此,如果您正在构建一个允许多个主机更改数据的网络文件系统,您可能会遇到非零超时的问题。
https://stackoverflow.com/questions/21540315
复制相似问题