diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2013-11-27 15:50:53 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2013-11-27 15:50:53 +0000 |
commit | f34e69cef2faf9e86a1b9dec0db584f5ab4fbe1a (patch) | |
tree | db0d21d4fb9bf4bb50b0f4810b290660e1460fef /sys | |
parent | d5601f8319a8e88668fb1518f60c1f6a3ecd7435 (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.c | 4 |
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); |