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:
parent
6e5eff6270
commit
fb6d83aa60
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=51140
@ -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 \
|
||||
|
@ -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 .
|
||||
|
94
share/man/man9/VFS_CHECKEXP.9
Normal file
94
share/man/man9/VFS_CHECKEXP.9
Normal 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 .
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user