我没有得到关于新系统调用name_to_handle_at()和open_to_handle_at()的更多信息。有人能帮我吗?
谢谢
编辑。我只是有这个
http://comments.gmane.org/gmane.linux.man/2158
最佳答案
这些函数对于编写用户空间服务器非常有用。
例如,当实现nfs协议时(该协议不具有“open”概念或文件描述符,而是依赖于持久文件标识符),可以使用name_to_handle_at函数以可移植的方式生成此持久句柄。
然后它被发送到客户端,客户端稍后会将其返回到服务器。
然后,服务器可以使用open_to_handle_at来执行操作。
有人可能会问,这比简单地在客户机和服务器之间发送完整的路径名要好得多。
有多种选择:
文件系统可以使用内部(更紧凑)表示
而不是文件名(例如基于inode)。
当从句柄转到文件描述符时,可能更少
工作需要完成。(不再遍历路径)
在上面给出的场景中,减少了服务器上的资源消耗(不需要跟踪服务器端打开的文件描述符)