【发布时间】:2015-10-03 19:24:58
【问题描述】:
我希望在 Linux 机器上开发 9p 文件服务器的 C 实现。互联网上没有足够的关于 9p 的文档,而且我对实现服务器也不是很有经验。我的总体设计如下:
- 使用 UNIX 套接字侦听传入的 9p 消息。
- 解码 9p 消息并生成一个新线程来执行所需的任务。
- 使用适当的 9p 回复消息回复客户。
服务器只存在于用户空间中,它将 9p 消息转换为 UNIX 调用。
您是否发现任何问题或对提议的设计有任何建议?是否有任何文件可以让我参考以帮助我?你认为我应该如何调试我的服务器并确保它正常工作。
【问题讨论】:
-
请检查我的重新标记和网址;您可能会找到替代和更好的 URL。当我在 Google 上搜索“9p 协议”时,我找到了许多信息来源——你发现了什么?一般来说,您的设计大致正确。短期内您最大的问题可能是文件的权限处理。对于调试,请确保您有一个日志文件,并且您的文件服务器在易于解析的消息中记录它正在执行的操作(尤其是它记录文件操作失败的错误消息)。确保它优雅地处理日志截断或删除。
-
Plan 9 已经附带u9fs,这是一个 9P 服务器,适用于 Linux 等 Unix 系统。
标签: c filesystems server storage plan-9