新しいシステムコール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
を持っている私はそのようなopenat()
として、これらの機能は、POSIX 2008に追加*at()
機能の一部またはすべてをサポートするために必要とされることを前提とするために傾斜させることになります。
#include <fcntl.h> int openat(int fd, const char *path, int oflag, ...);
openat()
関数は、pathが相対パスを指定する場合を除いて、open()
関数と等価でなければなりません。この場合、開かれるファイルは、現在の作業ディレクトリの代わりにファイル記述子fd
に関連付けられたディレクトリに関連して決定されます。ファイルディスクリプタがO_SEARCH
なしで開かれた場合、ファイルディスクリプタの基礎となるディレクトリの現在のアクセス権を使用してディレクトリ検索が許可されているかどうかをチェックします。ファイルディスクリプタがO_SEARCH
で開かれた場合、関数はチェックを実行してはならない。
関連の機能は次のとおり
これらの機能は、ユーザ空間サーバーを作成する場合に便利です。
たとえば、 'オープン'概念を持たないNFSプロトコルを実装する場合、またはファイル記述子ではなく永続的なファイル識別子を使用する場合、name_to_handle_at関数を使用して、この永続ハンドルをポータブルな方法。
これはクライアントに送信され、後でサーバーに返されます。 サーバーはopen_to_handle_atを使用して操作を実行できます。
クライアントとサーバーの間で完全なパス名を送信するよりも、これがどのように優れているかを尋ねることができます。オプションの 数:
あなたは私たちのリンクや引用符を与えることができますそれが使用されているコンテキストを表示するには? – cctan
これはファイルハンドルを扱う "新しい" Linuxカーネル機能です。誰も本当にそれについて多くのことを話していません。カーネル開発者やその他の人がこれに深く答えることができれば、私はそれを愛しています。 –