From 38076fc950bb74d1f5975e4d65e8b6c4e32a9bd9 Mon Sep 17 00:00:00 2001 From: Jean-Pierre André Date: Wed, 22 Aug 2012 10:00:22 +0200 Subject: Kept the fuse vnode format for fifo's --- kernel/fuse_vnops.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3