summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2013-11-27 15:50:53 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2013-11-27 15:50:53 +0000
commitf34e69cef2faf9e86a1b9dec0db584f5ab4fbe1a (patch)
treedb0d21d4fb9bf4bb50b0f4810b290660e1460fef /sys
parentd5601f8319a8e88668fb1518f60c1f6a3ecd7435 (diff)
Defer the v_type initialisation until after the vnode has been purged from
the namecache. Changing the v_type between cache_enter() and cache_purge() results in bad things happening. ok beck@
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/vfs_subr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 737c750128d..e6a0f13a91c 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_subr.c,v 1.208 2013/10/02 21:29:21 sf Exp $ */
+/* $OpenBSD: vfs_subr.c,v 1.209 2013/11/27 15:50:52 jsing Exp $ */
/* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */
/*
@@ -395,8 +395,8 @@ getnewvnode(enum vtagtype tag, struct mount *mp, struct vops *vops,
vp->v_flag = 0;
vp->v_socket = 0;
}
- vp->v_type = VNON;
cache_purge(vp);
+ vp->v_type = VNON;
vp->v_tag = tag;
vp->v_op = vops;
insmntque(vp, mp);