我实现了 NFS 并且几乎完成了,但是RFC 第 3.3.8 节在其描述中说明了这一点:
UNCHECKED、GUARDED 和 EXCLUSIVE 模式之一。UNCHECKED 意味着应该在不检查同一目录中是否存在重复文件的情况下创建文件。在这种情况下,how.obj_attributes 是描述文件初始属性的 sattr3。GUARDED 指定服务器应在执行创建之前检查是否存在重复文件,如果存在重复文件,则应使用 NFS3ERR_EXIST 使请求失败。如果文件不存在,则按照 UNCHECKED 的描述执行请求。EXCLUSIVE 指定服务器遵循独占创建语义,使用验证器确保目标独占创建。在这种情况下可以不提供任何属性,因为服务器可以使用目标文件元数据来存储 createverf3 验证器。
所以如果 UNCHECKED 是模式的问题,我应该将文件的长度设置为零还是应该让文件保持原样?如果它是一个目录,我应该删除所有内容吗?