summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/fifofs/fifosubr.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/fs/fifofs/fifosubr.c')
-rw-r--r--usr/src/uts/common/fs/fifofs/fifosubr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/fifofs/fifosubr.c b/usr/src/uts/common/fs/fifofs/fifosubr.c
index 3ee72c9124..8767999322 100644
--- a/usr/src/uts/common/fs/fifofs/fifosubr.c
+++ b/usr/src/uts/common/fs/fifofs/fifosubr.c
@@ -304,7 +304,8 @@ static void fifo_reinit_vp(vnode_t *vp)
{
vn_reinit(vp);
vp->v_type = VFIFO;
- vp->v_flag = VNOMAP | VNOSWAP;
+ vp->v_flag &= VROOT;
+ vp->v_flag |= VNOMAP | VNOSWAP;
}
/*
@@ -470,6 +471,7 @@ fifovp(vnode_t *vp, cred_t *crp)
fifo_reinit_vp(newvp);
newvp->v_vfsp = vp->v_vfsp;
newvp->v_rdev = vp->v_rdev;
+ newvp->v_flag |= (vp->v_flag & VROOT);
fifoinsert(fnp);
mutex_exit(&ftable_lock);