vfs_busy -- marks a mount point as busy
#include <sys/param.h>
#include <sys/mount.h>
int
vfs_busy(struct mount *mp, int flags, struct mtx *interlkp,
struct thread *td);
The vfs_busy() function marks a mount point as busy. The purpose of this
function is to synchronize access to a mount point. It also delays
unmounting by sleeping on mp if the MNTK_UNMOUNT flag is set in
mp->mnt_kern_flag and the LK_NOWAIT flag is not set.
Its arguments are:
mp The mount point to busy.
flags Flags controlling how vfs_busy() should act.
LK_NOWAIT do not sleep if MNTK_UNMOUNT is set.
interlkp The interlock mutex for mp->mount_lock. If there is any chance
the mount point is being unmounted and LK_NOWAIT is not set
then interlock must be valid locked mutex.
td The thread responsible for this call.
If interlkp is a valid pointer it must be locked on entry, and it will
not be unlocked even in the case of an error.
A 0 value is returned on success. If the mount point is being unmounted
ENOENT will always be returned.
[ENOENT] The mount point is being unmounted (MNTK_UNMOUNT is
set).
This manual page was written by Chad David <[email protected]>.
FreeBSD 5.2.1 July 8, 2001 FreeBSD 5.2.1 [ Back ] |