diff options
author | Jean-Pierre André <jpandre@users.sourceforge.net> | 2012-08-22 10:00:22 +0200 |
---|---|---|
committer | Jean-Pierre André <jpandre@users.sourceforge.net> | 2012-08-22 10:00:22 +0200 |
commit | 38076fc950bb74d1f5975e4d65e8b6c4e32a9bd9 (patch) | |
tree | 20c41f6ff44f9aec40e583a48d180d5423ac1005 | |
parent | 6dd075176b88879e7406d99c4334bf498ede0788 (diff) | |
download | illumos-fusefs-38076fc950bb74d1f5975e4d65e8b6c4e32a9bd9.tar.gz |
Kept the fuse vnode format for fifo's
-rw-r--r-- | kernel/fuse_vnops.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/fuse_vnops.c b/kernel/fuse_vnops.c index 452fb84..f407547 100644 --- a/kernel/fuse_vnops.c +++ b/kernel/fuse_vnops.c @@ -2077,8 +2077,16 @@ fuse_lookup_i(struct vnode *dvp, char *nm, struct vnode **vpp, cred_t *credp) /* * Convert device special files + * JPA do not do that for fifo's : + * this changes the v_data and the nodeid + * cannot be determined, leading to crashes + * when the inode is needed (e.g. when + * hardlinking another name. + * Moreover the avl_tree should be kept + * in sync with the vnodes in use. */ - if (IS_DEVVP(*vpp)) { + if (((*vpp)->v_type != VFIFO) + && IS_DEVVP(*vpp)) { vnode_t *svp; svp = specvp(*vpp, (*vpp)->v_rdev, |