From ff2d71102ed99de07f1238cde2b4bbfecea728c6 Mon Sep 17 00:00:00 2001 From: Patrick Mooney Date: Wed, 17 May 2017 19:05:23 +0000 Subject: OS-6134 vn_reinit balks on zeroed vnodes Reviewed by: Jerry Jelinek Approved by: Jerry Jelinek --- usr/src/uts/common/fs/vnode.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/usr/src/uts/common/fs/vnode.c b/usr/src/uts/common/fs/vnode.c index 8ff9905af3..27fbf3cc9f 100644 --- a/usr/src/uts/common/fs/vnode.c +++ b/usr/src/uts/common/fs/vnode.c @@ -2416,6 +2416,15 @@ vn_reinit(vnode_t *vp) vp->v_locality = NULL; vp->v_xattrdir = NULL; + /* + * In a few specific instances, vn_reinit() is used to initialize + * locally defined vnode_t instances. Lacking the construction offered + * by vn_alloc(), these vnodes require v_path initialization. + */ + if (vp->v_path == NULL) { + vp->v_path = vn_vpath_empty; + } + /* Handles v_femhead, v_path, and the r/w/map counts */ vn_recycle(vp); } -- cgit v1.2.3