EN JA
VFS_SET(9)
VFS_SET(9) FreeBSD Kernel Developer's Manual VFS_SET(9)

名称

VFS_SETロード可能なファイルシステムを設定する vfsconf のセットアップ

書式

#include < sys/param.h>
#include < sys/kernel.h>
#include < sys/module.h>
#include < sys/mount.h>

void
VFS_SET( struct vfsops *vfsops, fsname, int flags);

解説

VFS_SET() は、与えられた vfsops, fsnameflags でロード可能なモジュールのための vfsconf 構造体を作成し、イベントハンドラとして vfs_modevent() を使用して DECLARE_MODULE(9) を呼び出すことによって宣言します。

flags 引数のために指定できる値は、次の通りです:

VFCF_STATIC
ファイルシステムは、カーネルで静的に利用可能であるべきです。
VFCF_NETWORK
ネットワークにエクスポート可能なファイルシステム。
VFCF_READONLY
書き込み操作をサポートしていません。
VFCF_SYNTHETIC
データがディスクのファイルを表さない、疑似ファイルシステム。
VFCF_LOOPBACK
ループバックファイルシステムレイヤ (層)。
VFCF_UNICODE
ファイル名は、Unicode として格納されます。
VFCF_JAIL
security.jail.mount_allowed sysctl が 1 に設定されるなら、jail 内からマウントすることができます。
VFCF_DELEGADMIN
vfs.usermount sysctl が 1 に設定されるなら、代理 (delegate) 管理をサポートします。
VFCF_SBDRY
VFS メソッドであるとき、スレッドのサスペンション (保留) は、停止アクションの到着でユーザの限界に延期されます。

疑似コード

/* 
 * 特別の方法があるフィールドに書き込みます. 他のものは, 最初は null です. 
 * これは, ファイルシステムの登録の間に, それらを vfs_std* 関数への 
 * ポインタに変更するように vfs に伝えます. 
 */ 
static struct vfsops myfs_vfsops = { 
        .vfs_mount =    myfs_mount, 
        .vfs_root =     myfs_root, 
        .vfs_statfs =   myfs_statfs, 
        .vfs_unmount =  myfs_unmount, 
}; 
 
VFS_SET(myfs_vfsops, myfs, 0);

作者

このマニュアルページは、 Chad David <davidc@acns.ab.ca>によって書かれました。
February 21, 2013 FreeBSD