1

嗨,我正在尝试编写自己的 NFS 服务器(http://en.wikipedia.org/wiki/Network_File_System)实现,所以在我的第一个测试驱动器上,我在虚拟 PC 上安装了 ubuntu,然后我安装了 nfs 客户端并尝试使用以下命令挂载我的 NFS 共享:

sudo mount -o soft,intr,rsize=8192,wsize=8192 192.168.0.250: /nfs

然后发生的是,首先调用 NFSPROC3_NULL,然后调用 NFSPROC3_GETATTR 但 nfs_fh3 为零字节!!!

我在 rfc (http://tools.ietf.org/html/rfc1813#page-31) 中一无所获。

所以我在这里不知所措,为什么它用一个空文件处理程序调用 NFSPROC3_GETATTR,我从来没有为它提供一个零字节的文件处理程序......?

我的第一个猜测是 nfs 客户端缓存了无效数据,但是在重新启动甚至重新安装整个虚拟 pc 后,它的行为仍然相同,我是在规范中遗漏了一些东西还是 nfs 客户端做了一些无效的事情?

如果我改为尝试使用 xbmc 挂载共享,我至少可以浏览我的目录结构......

4

1 回答 1

0

我发现了问题,我没有正确检查版本,客户端正在使用版本 nfs 版本 4 进行调用...并且该版本的 nfs 具有与 NFSPROC3_GETATTR 相同的 ID 的不同过程...

于 2012-11-19T19:32:02.387 回答