Linux

文件句柄和文件名

  • July 23, 2014

我讀了這篇文章

文件描述符是否與文件句柄相同?

在嘗試配置 linux 核心時,它會詢問open by fhandle syscalls (FHANDLE) [Y/n/?].

為什麼提供此選項?它會影響核心性能或編譯時間,還是只是為了有一個統一的文件訪問方法?

C 中的FILE結構通常稱為file handle並且是圍繞文件描述符的一些抽象:

數據類型 FILE 是一種結構,其中包含有關文件或指定數據流的資訊。它包括文件描述符、目前位置、狀態標誌等資訊。它最常用作指向文件類型的指針,因為文件 I/O 函式主要將指針作為參數,而不是結構本身。


我手頭沒有核心建構環境,但應該有一個幫助文本來解釋該選項,並且根據快速搜尋應該說如下:

CONFIG_FHANDLE - 由 fhandle 系統呼叫打開 -

如果您在此處選擇 Y,則使用者級程序將能夠將文件名映射到句柄,然後稍後將句柄用於不同的文件系統操作。這在實現使用者空間文件伺服器時很有用,它現在使用句柄而不是名稱來跟踪文件。即使文件名被重命名,句柄也將保持不變。啟用 open_by_handle_at(2) 和 name_to_handle_at(2) 系統呼叫。

基本上它增加了對新的/額外的系統呼叫的支持。

引用自:https://unix.stackexchange.com/questions/146113