diff options
author | Alfred Perlstein <alfred@FreeBSD.org> | 1999-09-11 00:57:20 +0000 |
---|---|---|
committer | Alfred Perlstein <alfred@FreeBSD.org> | 1999-09-11 00:57:20 +0000 |
commit | fb6d83aa6076b8e36b94ef93ae614c335de1434c (patch) | |
tree | 011556b85ffd23ab473113edf7b72b357d3f0777 /share | |
parent | 6e5eff62702a4eb97b497c80f4108ed0fd900679 (diff) | |
download | src-fb6d83aa6076b8e36b94ef93ae614c335de1434c.tar.gz src-fb6d83aa6076b8e36b94ef93ae614c335de1434c.zip |
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.
Notes
Notes:
svn path=/head/; revision=51140
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/Makefile | 2 | ||||
-rw-r--r-- | share/man/man9/VFS.9 | 19 | ||||
-rw-r--r-- | share/man/man9/VFS_CHECKEXP.9 | 94 | ||||
-rw-r--r-- | share/man/man9/VFS_FHTOVP.9 | 29 |
4 files changed, 121 insertions, 23 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index b918f1f6b468..32b5c053d074 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 c84100b6d1a0..4b48d99b7e7c 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 000000000000..024278b14866 --- /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 875fed481f4e..98928778edf8 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 |