From 8e28bcd1a90381a8f303b8f38ae889fa641df42f Mon Sep 17 00:00:00 2001 From: bp Date: Thu, 14 Oct 1999 09:35:37 +0000 Subject: Under some condition vnode can reference itself. --- sys/nwfs/nwfs.h | 1 + sys/nwfs/nwfs_vnops.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/nwfs') diff --git a/sys/nwfs/nwfs.h b/sys/nwfs/nwfs.h index 950d18a..51ae76b 100644 --- a/sys/nwfs/nwfs.h +++ b/sys/nwfs/nwfs.h @@ -35,6 +35,7 @@ #ifndef _NWFS_H_ #define _NWFS_H_ +#include #include #define NR_OPEN 0 diff --git a/sys/nwfs/nwfs_vnops.c b/sys/nwfs/nwfs_vnops.c index 61163b0..d084503 100644 --- a/sys/nwfs/nwfs_vnops.c +++ b/sys/nwfs/nwfs_vnops.c @@ -1043,8 +1043,11 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO fap = &fattr; notfound = ncp_lookup(dvp, cnp->cn_namelen, cnp->cn_nameptr, fap, p, cnp->cn_cred); - fid.f_parent = dnp->n_fid.f_id; fid.f_id = fap->dirEntNum; + if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') { + fid.f_parent = dnp->n_fid.f_parent; + } else + fid.f_parent = dnp->n_fid.f_id; NCPVNDEBUG("call to ncp_lookup returned=%d\n",notfound); } if (notfound && notfound < 0x80 ) -- cgit v1.1