vfs_mount エントリー・ポイント

目的

仮想ファイル・システムをマウントします。

構文

int vfs_mount ( vfsp)
struct vfs *vfsp;
struct ucred * crp;

パラメーター

項目 説明
VSP 新しく作成された VFS 構造を指します。
CRP クレッド 構造体を指します。 この構造には、ファイル・システムがアクセス許可を検証するために使用できるデータが含まれています。

説明

vfs_mount エントリー・ポイントは、新規ファイル・システムをマウントするために論理ファイル・システムによって呼び出されます。 このエントリー・ポイントは、 VFS 構造体が割り振られて初期化された後に呼び出されます。 この構造が vfs_mount エントリー・ポイントに渡される前に、 論理ファイル・システムは以下を行います。

  • vmount または マウント サブルーチンの構文を保証します。
  • VFS 構造を割り振ります。
  • スタブを仮想ノード (v ノード) に解決します。 これは vfs_mntdoverVFS 構造体の フィールド。
  • 以下の仮想ファイル・システム・フィールドを初期化します。
    フィールド 説明
    vfs_flags マウントのタイプに応じて初期化されます。 このフィールドには、以下の値が入ります。
    VFS_MOUNTOK (V)
    ユーザーは、スタブの親ディレクトリーで書き込み権限を持ち、スタブの所有者です。
    VFS_SUSER (V)
    ユーザーには root ユーザー権限があります。
    VFS_NOSUID
    このマウントから セットアップ ID および セット ID プログラムを実行することはできません。
    VFS_NODEV (V)
    このマウントからの装置のオープンは許可されません。
    vfs_type マウント サブルーチンの使用時に/(ルート) ファイルシステム・タイプに初期化されます。 vmount サブルーチンが使用される場合、 Vfs_TYPE フィールドは、ユーザーが指定した タイプ パラメーターに設定されます。 論理ファイル・システムは、 タイプ パラメーターが存在するかどうかを検査します。
    vfs_ops 以下に従って初期化されます。vfs_type設定します。
    vfs_mntdover スタブ・パス引数を参照する v ノードを識別します。 この引数は、 マウント または vmount サブルーチンによって提供されます。
    vfs_date タイム・スタンプを保持します。 タイム・スタンプは、仮想ファイル・システムを初期化する時刻を指定します。
    vfs_number この仮想ファイル・システムを表す固有の番号シーケンスを示します。
    vfs_mdata ユーザー提供の vmount 構造体で初期化されます。 仮想ファイルシステム・データは、 /usr/include/sys/vmount.h ファイルに詳述されています。 このフィールドによって示されるすべての引数は、カーネル・スペースにコピーされます。

実行環境

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

戻り値

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

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