name_to_handle_at()的逻辑

Lip*_*eka 4 c linux system-calls

我没有获得有关新系统调用 name_to_handle_at() 和 open_to_handle_at() 的太多信息。有人可以帮我从这里出去吗。

谢谢

编辑。我只有这个

http://comments.gmane.org/gmane.linux.man/2158

小智 6

这些函数对于编写用户空间服务器很有用。

例如,当实现 NFS 协议时,该协议没有“打开”概念或文件描述符,而是依赖于持久文件标识符,可以使用 name_to_handle_at 函数以可移植的方式生成此持久句柄。

然后它被发送到客户端,客户端稍后将其返回到服务器。然后服务器可以使用 open_to_handle_at 来执行该操作。

有人可能会问,这比简单地在客户端和服务器之间发送完整路径名更好。多种选择:

  • 文件系统可以使用内部(更紧凑)表示形式代替文件名(例如基于索引节点)。
  • 从句柄到文件描述符时,需要完成的工作可能会更少。(不再需要遍历路径)
  • 在上面给出的场景中,服务器上的资源消耗减少了(无需跟踪服务器端打开的文件描述符)