vnop_fsync、vnop_fsync_range エントリー・ポイント

目的

ファイル・データをメモリーからディスクにフラッシュします。

構文

int vnop_fsync ( vp, flags, vinfo, crp)
struct vnode *vp;
long flags;
long vinfo;
struct ucred *crp;

int vnop_fsync_range ( vp, flags, vinfo, offset, length, crp)
struct vnode *vp;
long flags;
long vinfo;
offset_t offset;
offset_t length;
struct ucred *crp;

パラメーター

項目 説明
VP ファイルの仮想ノード (v ノード) を指します。
flags オープン・ファイルからのフラグ、および実行するアクションを管理するフラグを識別します。 以下の値のいずれかである。
fdatasync
offset および length パラメーターで指定された範囲内の変更データがストレージに書き込まれます。 ファイルのメタデータが変更され、この変更されたメタデータがデータを読み取る必要がある場合、メタデータもストレージに書き込まれます。 そうしないと、メタデータは更新されません。
FFILESYNC (ファイル同期)
offset および length パラメーターで指定された範囲内の変更データがストレージに書き込まれます。 メタデータが変更されると、変更されたすべてのユーザー・データがストレージに書き込まれます。 メタデータの変更およびタイム・スタンプを含むファイル属性もストレージに書き込まれます。
フノキャッシュ
変更されたデータは、 FDATASYNC フラグ値と同様にストレージに書き込まれます。 offset パラメーターと length パラメーターで指定された範囲内の全ページがメモリー・キャッシュから削除されます。 ページが変更されていない場合でも、ページはキャッシュから削除されます。 この操作は、読み取り専用にオープンされているファイルにも適用できます。
VINFO このパラメーターは現在使用されていません。
OFFSET フラッシュするデータのファイル内の開始オフセットを指定します。
length フラッシュするデータの長さを指定します。 値をゼロに指定すると、すべてのキャッシュ・データがフラッシュされます。
CRP クレッド 構造体を指します。 この構造には、ファイル・システムがアクセス許可を検証するために使用できるデータが含まれています。

説明

vnop_fsync エントリー・ポイントは、特定の v ノードに関連するすべての変更を永続記憶域にフラッシュするように要求するために、論理ファイル・システムによって呼び出されます。 これは、すべての入出力が正常に完了したことを呼び出し側が保証できるように、同期的に行う必要があります。 vnop_fsync_range エントリー・ポイントは同じ機能を提供しますが、書き込まれるデータをファイル内の指定された範囲に制限します。

実行環境

vnop_fsync および vnop_fsync_range エントリー・ポイントは、 プロセス環境 からのみ呼び出すことができます。

戻り値

項目 説明
0 成功を示します。

失敗を示すために、 /usr/include/sys/errno.h ファイルからゼロ以外の値が戻されます。