FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

VFS_LOCK_GIANT, VFS_UNLOCK_GIANT - conditionally lock and unlock Giant

 

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).
      VFS_LOCK_GIANT() returns a boolean indicating whether or not Giant was
      acquired.
      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.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.