From 21cc29328e0ec5d81f23c44eb23b19d99f7e691f Mon Sep 17 00:00:00 2001 From: dg Date: Tue, 1 Aug 1995 18:51:02 +0000 Subject: Removed my special-case hack for VOP_LINK and fixed the problem with the wrong vp's ops vector being used by changing the VOP_LINK's argument order. The special-case hack doesn't go far enough and breaks the generic bypass routine used in some non-leaf filesystems. Pointed out by Kirk McKusick. --- sys/kern/vnode_if.src | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'sys/kern/vnode_if.src') diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index 37ef15a..c5f1094 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -31,7 +31,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.src 8.3 (Berkeley) 2/3/94 -# $Id: vnode_if.src,v 1.4 1995/06/28 07:06:41 davidg Exp $ +# $Id: vnode_if.src,v 1.5 1995/07/07 13:41:28 davidg Exp $ # vop_lookup { IN struct vnode *dvp; @@ -148,15 +148,11 @@ vop_remove { IN struct componentname *cnp; }; -# Gack. The generated VCALL uses the first vp which might -# not be handled by the same FS as the directory (e.g. special -# device files)...so it's special-cased. -# -#vop_link { -# IN struct vnode *vp; -# IN WILLRELE struct vnode *tdvp; -# IN struct componentname *cnp; -#}; +vop_link { + IN WILLRELE struct vnode *tdvp; + IN struct vnode *vp; + IN struct componentname *cnp; +}; vop_rename { IN WILLRELE struct vnode *fdvp; -- cgit v1.1