Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
VFS_LOCK_GIANT(9)      FreeBSD Kernel Developer's Manual     VFS_LOCK_GIANT(9)

NAME
     VFS_LOCK_GIANT, VFS_UNLOCK_GIANT -- conditionally lock and	unlock Giant
     around entry into VFS

SYNOPSIS
     #include <sys/param.h>
     #include <sys/mount.h>
     #include <sys/vnode.h>

     int
     VFS_LOCK_GIANT(struct mount *mp);

     void
     VFS_UNLOCK_GIANT(int vfslocked);

DESCRIPTION
     VFS_LOCK_GIANT() will conditionally acquire the Giant lock	if the file
     system referenced by mp is	marked as MPSAFE or not, returning a flag
     indicating	whether	Giant was set, which may later be passed to
     VFS_UNLOCK_GIANT().  The value of mp will typically be derived from the
     mount pointer in a	vnode on which a VFS operation will be performed.

     VFS_UNLOCK_GIANT()	conditionally releases the Giant lock if the passed
     vfslocked argument	is non-zero.  It is expected that the argument will be
     derived from the return values of VFS_LOCK_GIANT()	or NDHASGIANT(9).

RETURN VALUES
     VFS_LOCK_GIANT() returns a	boolean	indicating whether or not Giant	was
     acquired.

SEE ALSO
     mutex(9), NDHASGIANT(9), vnode(9)

AUTHORS
     MPSAFE VFS	support	for FreeBSD was	implemented by Jeff Roberson.

     This manual page was written by Robert Watson.

BUGS
     Non-MPSAFE	file systems exist, requiring callers conditional locking and
     unlocking of Giant.

FreeBSD	10.1		      September	21, 2005		  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=VFS_UNLOCK_GIANT&sektion=9&manpath=FreeBSD+9.2-RELEASE>

home | help