1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00

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.
This commit is contained in:
Alfred Perlstein 1999-09-11 00:57:20 +00:00
parent 6e5eff6270
commit fb6d83aa60
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=51140
4 changed files with 121 additions and 23 deletions

View File

@ -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 \

View File

@ -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 .

View File

@ -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 .

View File

@ -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