summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>1999-09-11 00:57:20 +0000
committeralfred <alfred@FreeBSD.org>1999-09-11 00:57:20 +0000
commitb5a29f808009bfe1f6e8a1d8efb222cdb05157b3 (patch)
treeb2febb4acf6f8997a8774d23301eee49ec8ab94e /share
parent44374643d1829aa9b3f54541623a984a337a8872 (diff)
downloadFreeBSD-src-b5a29f808009bfe1f6e8a1d8efb222cdb05157b3.zip
FreeBSD-src-b5a29f808009bfe1f6e8a1d8efb222cdb05157b3.tar.gz
Document VFS changes:
VFS_CHECKEXP.9, now used to check export credentials VFS_FHTOVP.9, only used for filehandle to vnode, no access checks are done. VFS.9, inform people of the vfs_std* functions available to avoid ugly casts to eopnotsup and making of dummy functions to return 0.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/Makefile2
-rw-r--r--share/man/man9/VFS.919
-rw-r--r--share/man/man9/VFS_CHECKEXP.994
-rw-r--r--share/man/man9/VFS_FHTOVP.929
4 files changed, 121 insertions, 23 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index b918f1f..32b5c05 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -3,7 +3,7 @@
MAN9= MD5.9 \
VFS.9 VFS_FHTOVP.9 VFS_INIT.9 VFS_MOUNT.9 VFS_QUOTACTL.9 \
VFS_ROOT.9 VFS_START.9 VFS_STATFS.9 VFS_SYNC.9 VFS_UNMOUNT.9 \
- VFS_VGET.9 VFS_VPTOFH.9 \
+ VFS_VGET.9 VFS_VPTOFH.9 VFS_CHECKEXP.9 \
VOP_ABORTOP.9 VOP_ACCESS.9 VOP_ADVLOCK.9 VOP_ATTRIB.9 \
VOP_BWRITE.9 VOP_CREATE.9 VOP_FSYNC.9 \
VOP_GETPAGES.9 VOP_INACTIVE.9 VOP_IOCTL.9 VOP_LINK.9 \
diff --git a/share/man/man9/VFS.9 b/share/man/man9/VFS.9
index c84100b..4b48d99 100644
--- a/share/man/man9/VFS.9
+++ b/share/man/man9/VFS.9
@@ -35,8 +35,27 @@
.Nm VFS
.Nd kernel interface to filesystems
.Sh DESCRIPTION
+Calls used to set or query filesystems for settings or information.
+.Pp
+Filesytems that don't implement a VFS operation should use the appropriate
+.Fa vfs_std
+function from
+.Fa src/sys/vfs_defaults.c
+rather than implementing empty functions or casting to
+.Fa eopnotsupp .
.Sh SEE ALSO
.Xr vnode 9
+.Xr VFS_CHECKEXP 9 ,
+.Xr VFS_FHTOVP 9 ,
+.Xr VFS_INIT 9 ,
+.Xr VFS_MOUNT 9 ,
+.Xr VFS_QUOTACTL 9 ,
+.Xr VFS_START 9 ,
+.Xr VFS_STATFS 9 ,
+.Xr VFS_SYNC 9 ,
+.Xr VFS_UNMOUNT 9 ,
+.Xr VFS_VGET 9 ,
+.Xr VFS_VPTOFH 9
.Sh AUTHORS
This man page was written by
.An Doug Rabson .
diff --git a/share/man/man9/VFS_CHECKEXP.9 b/share/man/man9/VFS_CHECKEXP.9
new file mode 100644
index 0000000..024278b
--- /dev/null
+++ b/share/man/man9/VFS_CHECKEXP.9
@@ -0,0 +1,94 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1996 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" 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, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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.
+.\"
+.\" $Id: VFS_FHTOVP.9,v 1.4 1998/08/03 17:29:44 bde Exp $
+.\" $FreeBSD$
+.\"
+.Dd July 24, 1996
+.Os
+.Dt VFS_CHECKEXP 9
+.Sh NAME
+.Nm VFS_CHECKEXP
+.Nd check if vnode is exported to a client
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/mount.h>
+.Fd #include <sys/vnode.h>
+.Ft int
+.Fn VFS_CHECKEXP "struct mount *mp" "struct mbuf *nam" "int *exflagsp" "struct ucred **credanonp"
+.Sh DESCRIPTION
+This is used by the NFS server to check if a vnode is exported to a client.
+.Pp
+Its arguments are:
+.Bl -tag -width credanonp
+.It Ar mp
+The mount point to be checked.
+.It Ar nam
+An mbuf containing the network address of the client.
+.It Ar exflagsp
+Return parameter for the export flags for this client.
+.It Ar credanonp
+Return parameter for the anonymous credentials for this client.
+.El
+.Pp
+This should be called on a file system's mount structure to determine if it
+is exported to a client whos address is contained in
+.Fa nam .
+.Pp
+It is generally called before
+.Xr VFS_FHTOVP 9
+to validate that a client has access to the filesystem.
+.Pp
+The filesystem should call
+.Xr vfs_export_lookup 9
+with the address of an appropriate
+.Dv netexport
+structure and the address of the client,
+.Fa nam ,
+to verify that the client can access this filesystem.
+.Pp
+.Sh RETURN VALUES
+The export flags and anonymous credentials specific to the client
+will be returned in
+.Fa *exflagsp
+and
+.Fa *credanonp .
+.Sh SEE ALSO
+.Xr VFS 9 ,
+.Xr VFS_FHTOVP 9 ,
+.Xr VFS_VPTOFH 9 ,
+.Xr vnode 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson ,
+for
+.Xr VFS_FHTOVP 9
+and modified for
+.Xr VFS_CHECKEXP 9
+by
+.An Alfred Perlstein .
diff --git a/share/man/man9/VFS_FHTOVP.9 b/share/man/man9/VFS_FHTOVP.9
index 875fed4..9892877 100644
--- a/share/man/man9/VFS_FHTOVP.9
+++ b/share/man/man9/VFS_FHTOVP.9
@@ -39,24 +39,18 @@
.Fd #include <sys/mount.h>
.Fd #include <sys/vnode.h>
.Ft int
-.Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct mbuf *nam" "struct vnode **vpp" "int *exflagsp" "struct ucred **credanonp"
+.Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp"
.Sh DESCRIPTION
This is used by the NFS server to turn an NFS filehandle into a vnode.
.Pp
Its arguments are:
-.Bl -tag -width credanonp
+.Bl -tag -width vpp
.It Ar mp
The filesystem.
.It Ar fhp
The filehandle to convert.
-.It Ar nam
-An mbuf containing the network address of the client.
.It Ar vpp
Return parameter for the new locked vnode.
-.It Ar exflagsp
-Return parameter for the export flags for this client.
-.It Ar credanonp
-Return parameter for the anonymous credentials for this client.
.El
.Pp
The contents of the filehandle are defined by the filesystem and are
@@ -67,26 +61,17 @@ resources have been reused for a new file. For instance, UFS
filesystem stores the inode number and inode generation counter in its
filehandle.
.Pp
-The filesystem should call
-.Xr vfs_export_lookup 9
-with the address of an appropriate
-.Dv netexport
-structure and the address of the client,
-.Fa nam ,
-to verify that the client can access this filesystem.
+A call to this function should generally be followed by a call to
+.Xr VFS_CHECKEXP 9
+to check if the file is accessable to the client
+.Pp
.Sh RETURN VALUES
The locked vnode for the file will be returned in
.Fa *vpp .
-The export flags and anonymous credentials specific to the client
-(returned by
-.Xr vfs_export_lookup 9 )
-will be returned in
-.Fa *exflagsp
-and
-.Fa *credanonp .
.Sh SEE ALSO
.Xr VFS 9 ,
.Xr VFS_VPTOFH 9 ,
+.Xr VFS_CHECKEXP 9 ,
.Xr vnode 9
.Sh AUTHORS
This man page was written by
OpenPOWER on IntegriCloud