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 <davidc@acns.ab.ca>.
FreeBSD 5.2.1			 July 8, 2001			 FreeBSD 5.2.1  [ Back ] |