0

私は NFS を実装しており、ほぼ完了していますが、RFC セクション 3.3.8の説明には次のように記載されています。

mode UNCHECKED、GUARDED、および EXCLUSIVE のいずれか。UNCHECKED は、同じディレクトリ内の重複ファイルの存在をチェックせずにファイルを作成する必要があることを意味します。この場合、how.obj_attributes は、ファイルの初期属性を記述する sattr3 です。GUARDED は、サーバーが作成を実行する前に重複ファイルの存在をチェックし、重複ファイルが存在する場合は NFS3ERR_EXIST で要求を失敗させる必要があることを指定します。ファイルが存在しない場合、要求は UNCHECKED の説明に従って実行されます。EXCLUSIVE は、サーバーが排他的作成セマンティクスに従い、ベリファイアを使用してターゲットの排他的作成を保証することを指定します。この場合、サーバーはターゲット ファイルのメタデータを使用して createverf3 ベリファイアを格納する可能性があるため、属性を指定することはできません。

したがって、UNCHECKED がモードであるかどうかという問題は、ファイルの長さをゼロに設定するだけでよいのでしょうか、それともファイルをそのままにしておくべきでしょうか? ディレクトリの場合、すべてのコンテンツを削除する必要がありますか?

4

1 に答える 1

3

CREATEwithの考え方は、UNCHECKED古き良き Unix システム コールのセマンティクスを適用することだと私は信じてcreatいます。ただし、これがドキュメントで明確に指定されているのを見つけることができません(!)。

CREATEいずれにせよ、既存のディレクトリにアクセスしようとするとエラーになります -- そのMKDIRための別のディレクトリがあります (NFS 3 では、同じことが特別なファイルにも当てはまります。MKNOD--CREATE現在は、通常の、通常の、単純な古き良きファイルのみに適用されます!-)

于 2009-09-19T16:38:36.780 に答える