diff options
author | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-11-06 05:59:40 +0000 |
---|---|---|
committer | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-11-06 05:59:40 +0000 |
commit | 4e165724f1631d1deee6fd89b941fabdbcc855d4 (patch) | |
tree | 3aca36af68e90377984b00e9f0050674b0763db5 /sys/miscfs/umapfs/umap_subr.c | |
parent | fec1be888534eb37405f6bf7a195f28670e1392b (diff) |
Updates for VFS Lite 2 + soft update.
Diffstat (limited to 'sys/miscfs/umapfs/umap_subr.c')
-rw-r--r-- | sys/miscfs/umapfs/umap_subr.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/miscfs/umapfs/umap_subr.c b/sys/miscfs/umapfs/umap_subr.c index fd234f356c9..d3f8d9d801b 100644 --- a/sys/miscfs/umapfs/umap_subr.c +++ b/sys/miscfs/umapfs/umap_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: umap_subr.c,v 1.10 1997/10/06 20:20:41 deraadt Exp $ */ +/* $OpenBSD: umap_subr.c,v 1.11 1997/11/06 05:58:47 csapuntz Exp $ */ /* $NetBSD: umap_subr.c,v 1.8 1996/03/05 02:35:39 thorpej Exp $ */ /* @@ -42,6 +42,7 @@ #include <sys/param.h> #include <sys/systm.h> +#include <sys/proc.h> #include <sys/time.h> #include <sys/types.h> #include <sys/vnode.h> @@ -75,14 +76,15 @@ static int umap_node_alloc __P((struct mount *, struct vnode *, /* * Initialise cache headers */ -void -umapfs_init() +int +umapfs_init(struct vfsconf *vfsp) { #ifdef UMAPFS_DIAGNOSTIC printf("umapfs_init\n"); /* printed during system boot */ #endif umap_node_hashtbl = hashinit(NUMAPNODECACHE, M_CACHE, &umap_node_hash); + return (0); } /* @@ -141,6 +143,7 @@ umap_node_find(mp, targetvp) struct mount *mp; struct vnode *targetvp; { + struct proc *p = curproc; struct umap_node_hashhead *hd; struct umap_node *a; struct vnode *vp; @@ -166,7 +169,7 @@ loop: * stuff, but we don't want to lock * the lower node. */ - if (vget(vp, 0)) { + if (vget(vp, 0, p)) { #ifdef UMAPFS_DIAGNOSTIC printf ("umap_node_find: vget failed.\n"); #endif @@ -198,6 +201,7 @@ umap_node_alloc(mp, lowervp, vpp) struct umap_node *xp; struct vnode *vp, *nvp; int error; + struct proc *p = curproc; extern int (**dead_vnodeop_p) __P((void *)); if ((error = getnewvnode(VT_UMAP, mp, umap_vnodeop_p, &vp)) != 0) @@ -259,14 +263,14 @@ loop: vgone(cvp); goto loop; } - if (vget(cvp, 0)) /* can't lock; will die! */ + if (vget(cvp, 0, p)) /* can't lock; will die! */ goto loop; break; } vp->v_hashchain = cvpp; vp->v_specnext = *cvpp; - vp->v_specflags = 0; + vp->v_specmountpoint = NULL; *cvpp = vp; #ifdef DIAGNOSTIC if (cvp == NULLVP) |