table of contents
other versions
- wheezy 8.2-1
VFS_LOCK_GIANT(9) | Kernel Developer's Manual | VFS_LOCK_GIANT(9) |
NAME¶
VFS_LOCK_GIANT, VFS_UNLOCK_GIANT — conditionally lock and unlock Giant around entry into VFSSYNOPSIS¶
#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.September 21, 2005 | Debian |