summaryrefslogtreecommitdiffstats
path: root/sys/tools
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-08-01 18:51:02 +0000
committerdg <dg@FreeBSD.org>1995-08-01 18:51:02 +0000
commit21cc29328e0ec5d81f23c44eb23b19d99f7e691f (patch)
tree7e1c28d400c2c70e77cbca3654c9d1ca5443bae3 /sys/tools
parentc93738880cf44616a99a51717df53b16bac0effb (diff)
downloadFreeBSD-src-21cc29328e0ec5d81f23c44eb23b19d99f7e691f.zip
FreeBSD-src-21cc29328e0ec5d81f23c44eb23b19d99f7e691f.tar.gz
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.
Diffstat (limited to 'sys/tools')
-rw-r--r--sys/tools/vnode_if.awk40
1 files changed, 1 insertions, 39 deletions
diff --git a/sys/tools/vnode_if.awk b/sys/tools/vnode_if.awk
index 5066a1c..577deb9 100644
--- a/sys/tools/vnode_if.awk
+++ b/sys/tools/vnode_if.awk
@@ -32,7 +32,7 @@
# SUCH DAMAGE.
#
# @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93
-# $Id: vnode_if.sh,v 1.2 1994/08/02 07:43:34 davidg Exp $
+# $Id: vnode_if.sh,v 1.3 1995/07/07 13:41:27 davidg Exp $
#
# Script to produce VFS front-end sugar.
@@ -372,27 +372,6 @@ static inline int VOP_BWRITE(bp)
a.a_bp = bp;
return (VCALL((bp)->b_vp, VOFFSET(vop_bwrite), &a));
}
-
-struct vop_link_args {
- struct vnodeop_desc *a_desc;
- struct vnode *a_vp;
- struct vnode *a_tdvp;
- struct componentname *a_cnp;
-};
-extern struct vnodeop_desc vop_link_desc;
-static inline int VOP_LINK(vp, tdvp, cnp)
- struct vnode *vp;
- struct vnode *tdvp;
- struct componentname *cnp;
-{
- struct vop_link_args a;
-
- a.a_desc = VDESC(vop_link);
- a.a_vp = vp;
- a.a_tdvp = tdvp;
- a.a_cnp = cnp;
- return (VCALL(tdvp, VOFFSET(vop_link), &a));
-}
END_OF_SPECIAL_CASES
cat << END_OF_SPECIAL_CASES >> $CFILE
@@ -424,22 +403,6 @@ struct vnodeop_desc vop_bwrite_desc = {
VDESC_NO_OFFSET,
NULL,
};
-int vop_link_vp_offsets[] = {
- VOPARG_OFFSETOF(struct vop_link_args,a_vp),
- VOPARG_OFFSETOF(struct vop_link_args,a_tdvp),
- VDESC_NO_OFFSET
-};
-struct vnodeop_desc vop_link_desc = {
- 0,
- "vop_link",
- VDESC_VP1_WILLRELE,
- vop_link_vp_offsets,
- VDESC_NO_OFFSET,
- VDESC_NO_OFFSET,
- VDESC_NO_OFFSET,
- VOPARG_OFFSETOF(struct vop_link_args,a_cnp),
- NULL,
-};
END_OF_SPECIAL_CASES
# Add the vfs_op_descs array to the C file.
@@ -449,7 +412,6 @@ $AWK '
printf("\t&vop_default_desc, /* MUST BE FIRST */\n");
printf("\t&vop_strategy_desc, /* XXX: SPECIAL CASE */\n");
printf("\t&vop_bwrite_desc, /* XXX: SPECIAL CASE */\n");
- printf("\t&vop_link_desc, /* XXX: SPECIAL CASE */\n");
}
END {
printf("\tNULL\n};\n");
OpenPOWER on IntegriCloud