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