我沒有得到關於新系統調用name_to_handle_at()和open_to_handle_at()的更多信息。有人可以幫我從這裏出去嗎。name_to_handle_at()的邏輯
謝謝
編輯。我只是有這個
http://comments.gmane.org/gmane.linux.man/2158
我沒有得到關於新系統調用name_to_handle_at()和open_to_handle_at()的更多信息。有人可以幫我從這裏出去嗎。name_to_handle_at()的邏輯
謝謝
編輯。我只是有這個
http://comments.gmane.org/gmane.linux.man/2158
我會傾向於認爲需要這些功能,支持部分或全部加入到2008年POSIX的*at()
功能,如openat()
:
#include <fcntl.h> int openat(int fd, const char *path, int oflag, ...);
openat()
函數應該等同於open()
函數,除非路徑指定相對路徑。在這種情況下,要打開的文件是相對於與文件描述符fd
關聯的目錄而不是當前工作目錄確定的。如果文件描述符在沒有O_SEARCH
的情況下打開,則該函數將使用文件描述符下面的目錄的當前許可來檢查是否允許目錄搜索。如果文件描述符以O_SEARCH
打開,則該功能不應執行檢查。
相關的功能包括:
這些功能是用於寫入用戶空間服務器是有用的。
例如,在實現不具有'open'概念的NFS協議或文件描述符,而是依賴於持久性文件標識符時,可以使用name_to_handle_at函數來生成此持久句柄便攜的方式。
然後它被髮送到客戶端,它將在稍後的時間返回到服務器。 然後服務器可以使用open_to_handle_at來執行操作。
有人可能會問,這比簡單地在客戶端和服務器之間發送完整路徑名稱更好。 有多種選擇:
你可以給我們一個鏈接或引用顯示使用它的環境? – cctan 2012-04-03 03:57:51
這是一個處理文件句柄的「新」Linux內核特性。沒有人真的在任何地方談論它。如果內核開發人員或者其他人不能對此進行深入解答,我個人會喜歡它。 – 2012-04-03 04:09:57