VFS_BUSY(9) MidnightBSD Kernel Developer’s Manual VFS_BUSY(9)
NAME
vfs_busy — marks a mount point as busy
SYNOPSIS
#include <sys/param.h>
#include <sys/mount.h>
int
vfs_busy(struct mount *mp, int flags, struct mtx *interlkp, struct thread *td);
DESCRIPTION
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.
LOCKS
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.
RETURN VALUES
A 0 value is returned on success. If the mount point is being unmounted ENOENT will always be returned.
ERRORS
[ENOENT]
The mount point is being unmounted (MNTK_UNMOUNT is set).
AUTHORS
This manual page was written by Chad David 〈davidc@acns.ab.ca〉.
MidnightBSD 0.3 July 8, 2001 MidnightBSD 0.3