Provided by: freebsd-manpages_7.2-1_all bug

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〉.