VFS_UNLOCK_GIANT.9freebsd

Langue: en

Version: 307965 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)


BSD mandoc

NAME

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

SYNOPSIS

In sys/param.h In sys/mount.h In sys/vnode.h Ft int Fn VFS_LOCK_GIANT struct mount *mp Ft void Fn VFS_UNLOCK_GIANT int vfslocked

DESCRIPTION

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

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

RETURN VALUES

Fn VFS_LOCK_GIANT returns a boolean indicating whether or not Giant was acquired.

SEE ALSO

mutex(9), NDHASGIANT(9), vnode(9)

AUTHORS

An -nosplit MPSAFE VFS support for Fx was implemented by An Jeff Roberson .

This manual page was written by An Robert Watson .

BUGS

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