Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src Operations getnewvnode() and ungetnewvnode() have been repla...
details: https://anonhg.NetBSD.org/src/rev/ea7be91fd1d9
branches: trunk
changeset: 339322:ea7be91fd1d9
user: hannken <hannken%NetBSD.org@localhost>
date: Sun Jul 12 08:11:27 2015 +0000
description:
Operations getnewvnode() and ungetnewvnode() have been replaced with vcache.
- Remove now obsolete functions getnewvnode() and ungetnewvnode().
- Document vcache operations.
Welcome to 7.99.20
diffstat:
distrib/sets/lists/comp/mi | 35 +++++++++--
share/man/man9/Makefile | 11 ++-
share/man/man9/vfsops.9 | 54 +++++++++++++++++-
share/man/man9/vnode.9 | 137 +++++++++++++++++++++++++++++---------------
sys/kern/vfs_vnode.c | 89 +----------------------------
sys/sys/param.h | 4 +-
sys/sys/vnode.h | 5 +-
7 files changed, 185 insertions(+), 150 deletions(-)
diffs (truncated from 598 to 300 lines):
diff -r dd275e9f01ee -r ea7be91fd1d9 distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi Sun Jul 12 05:57:06 2015 +0000
+++ b/distrib/sets/lists/comp/mi Sun Jul 12 08:11:27 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1969 2015/06/27 15:47:29 matt Exp $
+# $NetBSD: mi,v 1.1970 2015/07/12 08:11:27 hannken Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -9790,7 +9790,9 @@
./usr/share/man/cat9/VATTR_NULL.0 comp-obsolete obsolete
./usr/share/man/cat9/VFS_CHECKEXP.0 comp-sys-catman .cat
./usr/share/man/cat9/VFS_FHTOVP.0 comp-sys-catman .cat
+./usr/share/man/cat9/VFS_LOADVNODE.0 comp-sys-catman .cat
./usr/share/man/cat9/VFS_MOUNT.0 comp-sys-catman .cat
+./usr/share/man/cat9/VFS_NEWVNODE.0 comp-sys-catman .cat
./usr/share/man/cat9/VFS_QUOTACTL.0 comp-sys-catman .cat
./usr/share/man/cat9/VFS_ROOT.0 comp-sys-catman .cat
./usr/share/man/cat9/VFS_SNAPSHOT.0 comp-sys-catman .cat
@@ -10311,7 +10313,7 @@
./usr/share/man/cat9/getmicrouptime.0 comp-sys-catman .cat
./usr/share/man/cat9/getnanotime.0 comp-sys-catman .cat
./usr/share/man/cat9/getnanouptime.0 comp-sys-catman .cat
-./usr/share/man/cat9/getnewvnode.0 comp-sys-catman .cat
+./usr/share/man/cat9/getnewvnode.0 comp-obsolete obsolete
./usr/share/man/cat9/gsignal.0 comp-obsolete obsolete
./usr/share/man/cat9/hardclock.0 comp-sys-catman .cat
./usr/share/man/cat9/hash.0 comp-sys-catman .cat
@@ -11048,7 +11050,7 @@
./usr/share/man/cat9/ucas.0 comp-sys-catman .cat
./usr/share/man/cat9/ucom.0 comp-sys-catman .cat
./usr/share/man/cat9/uiomove.0 comp-sys-catman .cat
-./usr/share/man/cat9/ungetnewvnode.0 comp-sys-catman .cat
+./usr/share/man/cat9/ungetnewvnode.0 comp-obsolete obsolete
./usr/share/man/cat9/untimeout.0 comp-sys-catman .cat
./usr/share/man/cat9/uprintf.0 comp-sys-catman .cat
./usr/share/man/cat9/usbd_status.0 comp-sys-catman .cat
@@ -11113,6 +11115,11 @@
./usr/share/man/cat9/vaccess.0 comp-sys-catman .cat
./usr/share/man/cat9/vattr.0 comp-sys-catman .cat
./usr/share/man/cat9/vattr_null.0 comp-sys-catman .cat
+./usr/share/man/cat9/vcache_get.0 comp-sys-catman .cat
+./usr/share/man/cat9/vcache_new.0 comp-sys-catman .cat
+./usr/share/man/cat9/vcache_rekey_enter.0 comp-sys-catman .cat
+./usr/share/man/cat9/vcache_rekey_exit.0 comp-sys-catman .cat
+./usr/share/man/cat9/vcache_remove.0 comp-sys-catman .cat
./usr/share/man/cat9/vcons.0 comp-sys-catman .cat
./usr/share/man/cat9/vcount.0 comp-obsolete obsolete
./usr/share/man/cat9/vdead_check.0 comp-sys-catman .cat
@@ -16624,7 +16631,9 @@
./usr/share/man/html9/VATTR_NULL.html comp-obsolete obsolete
./usr/share/man/html9/VFS_CHECKEXP.html comp-sys-htmlman html
./usr/share/man/html9/VFS_FHTOVP.html comp-sys-htmlman html
+./usr/share/man/html9/VFS_LOADVNODE.html comp-sys-htmlman html
./usr/share/man/html9/VFS_MOUNT.html comp-sys-htmlman html
+./usr/share/man/html9/VFS_NEWVNODE.html comp-sys-htmlman html
./usr/share/man/html9/VFS_QUOTACTL.html comp-sys-htmlman html
./usr/share/man/html9/VFS_ROOT.html comp-sys-htmlman html
./usr/share/man/html9/VFS_SNAPSHOT.html comp-sys-htmlman html
@@ -17114,7 +17123,7 @@
./usr/share/man/html9/getmicrouptime.html comp-sys-htmlman html
./usr/share/man/html9/getnanotime.html comp-sys-htmlman html
./usr/share/man/html9/getnanouptime.html comp-sys-htmlman html
-./usr/share/man/html9/getnewvnode.html comp-sys-htmlman html
+./usr/share/man/html9/getnewvnode.html comp-obsolete obsolete
./usr/share/man/html9/gsignal.html comp-obsolete obsolete
./usr/share/man/html9/hardclock.html comp-sys-htmlman html
./usr/share/man/html9/hash.html comp-sys-htmlman html
@@ -17821,7 +17830,7 @@
./usr/share/man/html9/ucas.html comp-sys-htmlman html
./usr/share/man/html9/ucom.html comp-sys-htmlman html
./usr/share/man/html9/uiomove.html comp-sys-htmlman html
-./usr/share/man/html9/ungetnewvnode.html comp-sys-htmlman html
+./usr/share/man/html9/ungetnewvnode.html comp-obsolete obsolete
./usr/share/man/html9/untimeout.html comp-sys-htmlman html
./usr/share/man/html9/uprintf.html comp-sys-htmlman html
./usr/share/man/html9/usbd_status.html comp-sys-htmlman html
@@ -17873,6 +17882,11 @@
./usr/share/man/html9/vaccess.html comp-sys-htmlman html
./usr/share/man/html9/vattr.html comp-sys-htmlman html
./usr/share/man/html9/vattr_null.html comp-sys-htmlman html
+./usr/share/man/html9/vcache_get.html comp-sys-htmlman html
+./usr/share/man/html9/vcache_new.html comp-sys-htmlman html
+./usr/share/man/html9/vcache_rekey_enter.html comp-sys-htmlman html
+./usr/share/man/html9/vcache_rekey_exit.html comp-sys-htmlman html
+./usr/share/man/html9/vcache_remove.html comp-sys-htmlman html
./usr/share/man/html9/vcons.html comp-sys-htmlman html
./usr/share/man/html9/vcount.html comp-obsolete obsolete
./usr/share/man/html9/vdead_check.html comp-sys-htmlman html
@@ -23549,7 +23563,9 @@
./usr/share/man/man9/VATTR_NULL.9 comp-obsolete obsolete
./usr/share/man/man9/VFS_CHECKEXP.9 comp-sys-man .man
./usr/share/man/man9/VFS_FHTOVP.9 comp-sys-man .man
+./usr/share/man/man9/VFS_LOADVNODE.9 comp-sys-man .man
./usr/share/man/man9/VFS_MOUNT.9 comp-sys-man .man
+./usr/share/man/man9/VFS_NEWVNODE.9 comp-sys-man .man
./usr/share/man/man9/VFS_QUOTACTL.9 comp-sys-man .man
./usr/share/man/man9/VFS_ROOT.9 comp-sys-man .man
./usr/share/man/man9/VFS_SNAPSHOT.9 comp-sys-man .man
@@ -24070,7 +24086,7 @@
./usr/share/man/man9/getmicrouptime.9 comp-sys-man .man
./usr/share/man/man9/getnanotime.9 comp-sys-man .man
./usr/share/man/man9/getnanouptime.9 comp-sys-man .man
-./usr/share/man/man9/getnewvnode.9 comp-sys-man .man
+./usr/share/man/man9/getnewvnode.9 comp-obsolete obsolete
./usr/share/man/man9/gsignal.9 comp-obsolete obsolete
./usr/share/man/man9/hardclock.9 comp-sys-man .man
./usr/share/man/man9/hash.9 comp-sys-man .man
@@ -24807,7 +24823,7 @@
./usr/share/man/man9/ucas.9 comp-sys-man .man
./usr/share/man/man9/ucom.9 comp-sys-man .man
./usr/share/man/man9/uiomove.9 comp-sys-man .man
-./usr/share/man/man9/ungetnewvnode.9 comp-sys-man .man
+./usr/share/man/man9/ungetnewvnode.9 comp-obsolete obsolete
./usr/share/man/man9/untimeout.9 comp-sys-man .man
./usr/share/man/man9/uprintf.9 comp-sys-man .man
./usr/share/man/man9/usbd_status.9 comp-sys-man .man
@@ -24872,6 +24888,11 @@
./usr/share/man/man9/vaccess.9 comp-sys-man .man
./usr/share/man/man9/vattr.9 comp-sys-man .man
./usr/share/man/man9/vattr_null.9 comp-sys-man .man
+./usr/share/man/man9/vcache_get.9 comp-sys-man .man
+./usr/share/man/man9/vcache_new.9 comp-sys-man .man
+./usr/share/man/man9/vcache_rekey_enter.9 comp-sys-man .man
+./usr/share/man/man9/vcache_rekey_exit.9 comp-sys-man .man
+./usr/share/man/man9/vcache_remove.9 comp-sys-man .man
./usr/share/man/man9/vcons.9 comp-sys-man .man
./usr/share/man/man9/vcount.9 comp-obsolete obsolete
./usr/share/man/man9/vdead_check.9 comp-sys-man .man
diff -r dd275e9f01ee -r ea7be91fd1d9 share/man/man9/Makefile
--- a/share/man/man9/Makefile Sun Jul 12 05:57:06 2015 +0000
+++ b/share/man/man9/Makefile Sun Jul 12 08:11:27 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.387 2015/05/14 00:08:44 pgoyette Exp $
+# $NetBSD: Makefile,v 1.388 2015/07/12 08:11:27 hannken Exp $
# Makefile for section 9 (kernel function and variable) manual pages.
@@ -879,6 +879,8 @@
vfsops.9 VFS_STATVFS.9 \
vfsops.9 VFS_SYNC.9 \
vfsops.9 VFS_VGET.9 \
+ vfsops.9 VFS_LOADVNODE.9 \
+ vfsops.9 VFS_NEWVNODE.9 \
vfsops.9 VFS_FHTOVP.9 \
vfsops.9 VFS_VPTOFH.9 \
vfsops.9 VFS_CHECKEXP.9 \
@@ -920,8 +922,11 @@
vnode.9 vput.9 \
vnode.9 vhold.9 \
vnode.9 holdrele.9 \
- vnode.9 getnewvnode.9 \
- vnode.9 ungetnewvnode.9 \
+ vnode.9 vcache_get.9 \
+ vnode.9 vcache_new.9 \
+ vnode.9 vcache_rekey_enter.9 \
+ vnode.9 vcache_rekey_exit.9 \
+ vnode.9 vcache_remove.9 \
vnode.9 vrecycle.9 \
vnode.9 vgone.9 \
vnode.9 vgonel.9 \
diff -r dd275e9f01ee -r ea7be91fd1d9 share/man/man9/vfsops.9
--- a/share/man/man9/vfsops.9 Sun Jul 12 05:57:06 2015 +0000
+++ b/share/man/man9/vfsops.9 Sun Jul 12 08:11:27 2015 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: vfsops.9,v 1.46 2012/02/13 13:24:18 wiz Exp $
+.\" $NetBSD: vfsops.9,v 1.47 2015/07/12 08:11:27 hannken Exp $
.\"
.\" Copyright (c) 2001 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd February 13, 2012
+.Dd July 12, 2015
.Dt VFSOPS 9
.Os
.Sh NAME
@@ -40,6 +40,8 @@
.Nm VFS_STATVFS ,
.Nm VFS_SYNC ,
.Nm VFS_VGET ,
+.Nm VFS_LOADVNODE ,
+.Nm VFS_NEWVNODE ,
.Nm VFS_FHTOVP ,
.Nm VFS_VPTOFH ,
.Nm VFS_SNAPSHOT ,
@@ -68,6 +70,10 @@
.Ft int
.Fn VFS_VGET "struct mount *mp" "ino_t ino" "struct vnode **vpp"
.Ft int
+.Fn VFS_LOADVNODE "struct mount *mp" "struct vnode *vp" "const void *key" "size_t key_len" "const void **new_key"
+.Ft int
+.Fn VFS_NEWVNODE "struct mount *mp" "struct vnode *dvp" "struct vnode *vp" "struct vattr *vap" "kauth_cred_t cred" "size_t *key_len" "const void **new_key"
+.Ft int
.Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp"
.Ft int
.Fn VFS_VPTOFH "struct vnode *vp" "struct fid *fhp" "size_t *fh_size"
@@ -132,6 +138,14 @@
Ta Dv VFS_VGET \
Ta Get vnode from file id
.\"
+.It int (*vfs_loadvnode)() \
+Ta Dv VFS_LOADVNODE \
+Ta Initialze vnode with file
+.\"
+.It int (*vfs_loadvnode)() \
+Ta Dv VFS_NEWVNODE \
+Ta Initialze vnode with new file
+.\"
.It int (*vfs_fhtovp)() \
Ta Dv VFS_FHTOVP \
Ta NFS file handle to vnode lookup
@@ -332,6 +346,42 @@
server to implement the READDIRPLUS NFS call.
If the file system does not support this function, it should return
.Er EOPNOTSUPP .
+.It Fn VFS_LOADVNODE "mp" "vp" "key" "key_len" "new_key"
+Initialise the vnode
+.Fa vp
+with the file identified by the arguments
+.Fa key
+and
+.Fa key_len
+for the file system specified by the mount structure
+.Fa mp .
+.Pp
+The new key is returned in the address specified by
+.Fa new_key .
+.Pp
+Caller of this function assures no other thread will try to load this file.
+.It Fn VFS_NEWVNODE "mp" "dvp" "vp" "vap" "cred" "key_len" "new_key"
+Initialise the vnode
+.Fa vp
+with a new file for the file system specified by the mount structure
+.Fa mp .
+.Pp
+The argument
+.Fa dvp
+points to the directory to create the file in.
+.Pp
+The argument
+.Fa vap
+points to the attributes for the file to create.
+.Pp
+The argument
+.Fa cred
+holds the credentials for the file to create.
+.Pp
+The key for the file is returned in the addresses specified by
+.Fa key_len
+and
+.Fa new_key .
.It Fn VFS_FHTOVP "mp" "fhp" "vpp"
Get the vnode for the file handle
.Fa fhp
diff -r dd275e9f01ee -r ea7be91fd1d9 share/man/man9/vnode.9
--- a/share/man/man9/vnode.9 Sun Jul 12 05:57:06 2015 +0000
+++ b/share/man/man9/vnode.9 Sun Jul 12 08:11:27 2015 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: vnode.9,v 1.68 2015/04/20 19:36:55 riastradh Exp $
+.\" $NetBSD: vnode.9,v 1.69 2015/07/12 08:11:27 hannken Exp $
.\"
.\" Copyright (c) 2001, 2005, 2006 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd April 20, 2015
+.Dd July 12, 2015
.Dt VNODE 9
.Os
.Sh NAME
@@ -39,8 +39,11 @@
.Nm vput ,
.Nm vhold ,
.Nm holdrele ,
-.Nm getnewvnode ,
-.Nm ungetnewvnode ,
+.Nm vcache_get ,
+.Nm vcache_new ,
+.Nm vcache_rekey_enter ,
+.Nm vcache_rekey_exit ,
+.Nm vcache_remove ,
.Nm vrecycle ,
.Nm vgone ,
.Nm vgonel ,
@@ -75,10 +78,15 @@
.Ft void
.Fn holdrele "struct vnode *vp"
.Ft int
-.Fn getnewvnode "enum vtagtype tag" "struct mount *mp" "int (**vops)(void *)" \
-"kmutex_t *slock" "struct vnode **vpp"
+.Fn vcache_get "struct mount *mp" "const void *key" "size_t key_len" "struct vnode **vpp"
+.Ft int
+.Fn vcache_new "struct mount *mp" "struct vnode *dvp" "struct vattr *vap" "kauth_cred_t cred" "struct vnode **vpp"
+.Ft int
+.Fn vcache_rekey_enter "struct mount *mp" "struct vnode *vp" "const void *old_key" "size_t old_key_len" "const void *new_key" "size_t new_key_len"
Home |
Main Index |
Thread Index |
Old Index