diff options
author | dg <dg@FreeBSD.org> | 1995-08-01 18:51:02 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-08-01 18:51:02 +0000 |
commit | 21cc29328e0ec5d81f23c44eb23b19d99f7e691f (patch) | |
tree | 7e1c28d400c2c70e77cbca3654c9d1ca5443bae3 /sys/fs/unionfs/union_vnops.c | |
parent | c93738880cf44616a99a51717df53b16bac0effb (diff) | |
download | FreeBSD-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/fs/unionfs/union_vnops.c')
-rw-r--r-- | sys/fs/unionfs/union_vnops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 0a1be17..315fc62 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_vnops.c 8.6 (Berkeley) 2/17/94 - * $Id: union_vnops.c,v 1.8 1994/11/04 14:41:46 davidg Exp $ + * $Id: union_vnops.c,v 1.9 1995/06/28 07:06:46 davidg Exp $ */ #include <sys/param.h> @@ -898,8 +898,8 @@ union_remove(ap) int union_link(ap) struct vop_link_args /* { - struct vnode *a_vp; struct vnode *a_tdvp; + struct vnode *a_vp; struct componentname *a_cnp; } */ *ap; { @@ -919,7 +919,7 @@ union_link(ap) VREF(vp); vrele(ap->a_tdvp); - error = VOP_LINK(vp, dvp, ap->a_cnp); + error = VOP_LINK(dvp, vp, ap->a_cnp); } else { /* * XXX: need to copy to upper layer |