VFS_BUSY(9) |
FreeBSD Kernel Developer's Manual |
VFS_BUSY(9) |
名称
vfs_busy —
マウントポイントをビジーとしてマークする
解説
vfs_busy() 関数は、マウントポイントの参照カウントを増加することによって、マウントポイントがビジーとマークします。この関数の目的は、マウントポイントへのアクセスを同時にさせることです。また、
MNTK_UNMOUNT フラグが
mp->mnt_kern_flag に設定されて、
MBF_NOWAIT フラグが設定されて
いない なら、
mp でスリープすることによってアンマウントを遅らせます。
引数は、次の通りです:
-
mp
-
ビジーにするマウントポイント。
-
flags
-
vfs_busy() がどのように行動するべきであるかを制御するフラグ。
-
MBF_NOWAIT
-
MNTK_UNMOUNT が設定されるなら、スリープしません。
-
MBF_MNTLSTLOCK
-
クリティカルパスで mountlist_mtx を落とします。
戻り値
成功すれば 0 の値を返します。マウントポイントがアンマウントされていて、MBF_NOWAIT フラグが指定されているなら、
ENOENT が返されます。
エラー
-
[
ENOENT]
-
マウントポイントがアンマウントされています (
MNTK_UNMOUNT が設定されています)。
作者
このマニュアルページは、
Chad David <davidc@acns.ab.ca>によって書かれました。