diff options
author | kib <kib@FreeBSD.org> | 2012-10-22 17:50:54 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-10-22 17:50:54 +0000 |
commit | 560aa751e0f5cfef868bdf3fab01cdbc5169ef82 (patch) | |
tree | 6e9ef0a47c5e91d26227820c50c9767e84550821 /share | |
parent | ca71b68ea40c83f641d6485e027368568f244197 (diff) | |
download | FreeBSD-src-560aa751e0f5cfef868bdf3fab01cdbc5169ef82.zip FreeBSD-src-560aa751e0f5cfef868bdf3fab01cdbc5169ef82.tar.gz |
Remove the support for using non-mpsafe filesystem modules.
In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.
The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.
Conducted and reviewed by: attilio
Tested by: pho
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/Makefile | 2 | ||||
-rw-r--r-- | share/man/man9/VFS_LOCK_GIANT.9 | 93 | ||||
-rw-r--r-- | share/man/man9/namei.9 | 14 |
3 files changed, 0 insertions, 109 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index ad9e453..dc7a1dd 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -280,7 +280,6 @@ MAN= accept_filter.9 \ vfs_getnewfsid.9 \ vfs_getopt.9 \ vfs_getvfs.9 \ - VFS_LOCK_GIANT.9 \ VFS_MOUNT.9 \ vfs_mount.9 \ vfs_mountedfrom.9 \ @@ -1413,7 +1412,6 @@ MLINKS+=vfs_getopt.9 vfs_copyopt.9 \ vfs_getopt.9 vfs_setopt.9 \ vfs_getopt.9 vfs_setopt_part.9 \ vfs_getopt.9 vfs_setopts.9 -MLINKS+=VFS_LOCK_GIANT.9 VFS_UNLOCK_GIANT.9 MLINKS+=vhold.9 vdrop.9 \ vhold.9 vdropl.9 \ vhold.9 vholdl.9 diff --git a/share/man/man9/VFS_LOCK_GIANT.9 b/share/man/man9/VFS_LOCK_GIANT.9 deleted file mode 100644 index 9249e6c..0000000 --- a/share/man/man9/VFS_LOCK_GIANT.9 +++ /dev/null @@ -1,93 +0,0 @@ -.\" -.\" Copyright (c) 2005 Robert N. M. Watson -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice(s), this list of conditions and the following disclaimer as -.\" the first lines of this file unmodified other than the possible -.\" addition of one or more copyright notices. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice(s), this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY -.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -.\" DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd September 21, 2005 -.Dt VFS_LOCK_GIANT 9 -.Os -.Sh NAME -.Nm VFS_LOCK_GIANT , -.Nm VFS_UNLOCK_GIANT -.Nd "conditionally lock and unlock Giant around entry into VFS" -.Sh 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" -.Sh DESCRIPTION -.Fn VFS_LOCK_GIANT -will conditionally acquire the -.Va Giant -lock if the file system referenced by -.Fa mp -is marked as MPSAFE or not, returning a flag indicating whether -.Va 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. -.Pp -.Fn VFS_UNLOCK_GIANT -conditionally releases the -.Va 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 -.Xr NDHASGIANT 9 . -.Sh RETURN VALUES -.Fn VFS_LOCK_GIANT -returns a boolean indicating whether or not -.Va Giant -was acquired. -.Sh SEE ALSO -.Xr mutex 9 , -.Xr NDHASGIANT 9 , -.Xr vnode 9 -.Sh AUTHORS -.An -nosplit -MPSAFE VFS support for -.Fx -was implemented by -.An Jeff Roberson . -.Pp -This manual page was written by -.An Robert Watson . -.Sh BUGS -Non-MPSAFE file systems exist, requiring callers conditional locking and -unlocking of -.Va Giant . diff --git a/share/man/man9/namei.9 b/share/man/man9/namei.9 index dc9ef8e..95c20a3 100644 --- a/share/man/man9/namei.9 +++ b/share/man/man9/namei.9 @@ -168,19 +168,6 @@ This flag allows the function to return the parent (directory) vnode in an unlocked state. The parent vnode must be released separately by using .Xr vrele 9 . -.It Dv MPSAFE -With this flag set, -.Fn namei -will conditionally acquire -.Va Giant -if it is required by a traversed file system. -MPSAFE callers should pass the results of -.Fn NDHASGIANT -to -.Xr VFS_UNLOCK_GIANT -in order to conditionally release -.Va Giant -if necessary. .It Dv NOCACHE Avoid .Fn namei @@ -354,7 +341,6 @@ An attempt is made to modify a file or directory on a read-only file system. .Xr uio 9 , .Xr uma 9 , .Xr VFS 9 , -.Xr VFS_UNLOCK_GIANT 9 , .Xr vnode 9 , .Xr vput 9 , .Xr vref 9 |