vfs_busy(9)

vfs_busy9

Marks a mount point as busy

Usage

#include <sys/param.h>

#include <sys/mount.h>

int

vfs_busy(struct mount *mp, int flags, struct mtx *interlkp, struct thread *td);

Overview

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 ⟨[email protected]⟩.

From freebsd-manpages 6.0-5 in Debian 4.0 (Etch). Parsed by carta from the page's mdoc source.