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/nfs | |
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/nfs')
-rw-r--r-- | sys/nfs/nfs_serv.c | 4 | ||||
-rw-r--r-- | sys/nfs/nfs_vnops.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index d8659d1..8330da6 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.17 1995/06/28 07:06:50 davidg Exp $ + * $Id: nfs_serv.c,v 1.18 1995/06/28 12:01:03 davidg Exp $ */ /* @@ -2026,7 +2026,7 @@ out: if (!error) { nqsrv_getl(vp, ND_WRITE); nqsrv_getl(xp, ND_WRITE); -#if defined(__NetBSD__) +#if defined(__NetBSD__) || defined(__FreeBSD__) error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); #else error = VOP_LINK(vp, nd.ni_dvp, &nd.ni_cnd); diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 2b66340..1a08ca2 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.5 (Berkeley) 2/13/94 - * $Id: nfs_vnops.c,v 1.21 1995/07/24 12:50:49 dfr Exp $ + * $Id: nfs_vnops.c,v 1.22 1995/07/24 16:38:05 dfr Exp $ */ /* @@ -1646,14 +1646,14 @@ nfs_renamerpc(fdvp, fnameptr, fnamelen, tdvp, tnameptr, tnamelen, cred, proc) int nfs_link(ap) struct vop_link_args /* { - struct vnode *a_vp; struct vnode *a_tdvp; + struct vnode *a_vp; struct componentname *a_cnp; } */ *ap; { #if defined(__NetBSD__) /* - * Since the args are reversed in the VOP_LINK() calls, + * Since the args are reversed in the VOP_LINK() calls, * switch them back. Argh! */ register struct vnode *vp = ap->a_tdvp; |