このファイルシステムは Linux 2.6 以降 (と開発版である 2.5 系の後期から 2.6 まで) のカーネルでのみ利用可能である。 この man ページは 2.4 以前には適用されない。
このファイルシステムだけではなく、 procfs ファイルシステム (通常は /proc にマウントされている) にも NFS サーバーを制御するためのファイル群がある。 この man ページは、これら全てのファイルについて記述している。
exportfs と mountd プログラム (nfs-utils パッケージの一部) は、このファイルシステムが /proc/fs/nfsd または /proc/fs/nfs にマウントされていることを想定している。 マウントされていない場合、これらのプログラムは 2.4 系の機能に戻る。 2.4 系の機能には、システムコール経由で NFS サーバーにアクセスすることが含まれる。 このシステムコールは 2.6 カーネルより後の系列では削除される予定である。
ファイルの各行には、パス名・クライアント名・ 括弧で括られたオプションが含まれる。 パス名またはクライアント名に含まれる スペース・タブ・改行・バックスラッシュ文字は、 バックスラッシュとそれらの文字の 8 進数 ASCII コードに置き換えられる。
filehandle に書き込まれるリクエストは、クライアント名・パス名・バイト数である。 その後には、改行・空白で区切ったフィールド・ 特殊文字を 8 進数表記したものが続く。
このファイルに書き込むことにより、プログラムは 指定されたクライアントにエクスポートされるパスに対する ファイルハンドルを読み返すことができる。 ファイルハンドルの長さは、指定されたバイト数以下にされる。
ファイルハンドルは先頭に '\x' を付けた 16 進数で表現される。
procfs ファイルシステム上のディレクトリ /proc/net/rpc には、いくつかのファイルとディレクトリが含まれる。 ファイルには nfsstat プログラムを使って表示できる統計情報が含まれる。 ディレクトリには NFS サーバが管理するいろいろなキャッシュが含まれる。 これらのキャッシュは、各クライアントがファイルシステム毎に持つ アクセス許可を把握するためのものである。 キャッシュは以下の通り:
キャッシュを表す各ディレクトリは 1 〜 3 個のファイルを保持できる。 ファイルは以下の通り:
カーネルがキャッシュにない情報を必要とする場合、 情報のキーとなる 1 行を channel ファイルに書き込む。 ユーザー空間プログラムは、これを読み込み、答えを見つけ、 キー・満了時刻・内容を含む行を書き込まなければならない。
たとえば、カーネルが
nfsd 127.0.0.1
を auth.unix.ip/content ファイルに書き込んだ場合、ユーザー空間プログラムは
nfsd 127.0.0.1 1057206953 localhost
を書き込んで、少なくとも今のところは 127.0.0.1 を localhost にマップすべきであることを示す。
プログラムが select(2) または poll(2) を使って channel から読み込めるかを確かめたときに、 ファイルの終わり (end-of-file) は見つからないが、 全てのリクエストに答え終わっているという場合には、 プログラムは他のリクエストが現れるまでブロックする。
/proc ファイルシステムには、nfsd とそれに関連するコードの より詳細なトレースを可能にするための、4 つのファイルがある: /proc/sys/sunrpc/nfs_debug
/proc/sys/sunrpc/nfsd_debug
/proc/sys/sunrpc/nlm_debug
/proc/sys/sunrpc/rpc_debug
これらのファイルは、それぞれ、 NFS クライアント・NFS サーバー・ネットワークロックマネージャ (lockd)・ 下層の RPC レイヤのトレースを制御する。 これらのファイルに対して 10 進数を読み書きできる。 各数値は特定の種類のトレースを有効にするためのビットのパターンを表す。 どの数値がどのトレースに対応するかを見つけるには、 カーネルのヘッダファイルを調べてほしい。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]