パン・カーネル・サービス

目的

指定されたブロック・データをバッファーに読み取ります。

構文

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/buf.h>
struct buf *bread (dev, blkno)
dev_t dev;
daddr_t blkno;

パラメーター

項目 説明
dev 読み取るブロックが入っている装置を指定します。
ブルクノ 読み取るブロックを指定します。

説明

パン カーネル・サービスは、指定されたブロックにバッファーを割り当てます。 指定されたブロックが既にバッファー・キャッシュ内にある場合は、ブロック・バッファー・ヘッダーが戻されます。 それ以外の場合は、指定されたブロックにフリー・バッファーが割り当てられ、データがバッファーに読み込まれます。 パン サービスは、バッファー・ヘッダーを戻すために入出力が完了するのを待機します。

バッファーは呼び出し側に割り振られ、使用中のマークが付けられます。

実行環境

パン カーネル・サービスは、 プロセス環境 からのみ呼び出すことができます。

戻り値

パン サービスは、選択されたバッファーのヘッダーのアドレスを返します。 B_ エラー のゼロ以外の値b_flagsバッファーのヘッダーのフィールド (ブフ 構造体) がエラーを示しています。 この場合、呼び出し側は、 ブレース カーネル・サービスを使用して、ブロックに関連したバッファーを解放する必要があります。

ストレージ・キーをサポートするプラットフォームでは、 キー・ブロック・デバイス カーネル・キーによって保護されるストレージからバッファー・ヘッダーが割り振られます。