Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jul 1995 21:14:15 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        imb@scgt.oz.au (michael butler)
Cc:        current@FreeBSD.org
Subject:   Re: NFS client no longer works :-(
Message-ID:  <199507011914.VAA03913@uriah.heep.sax.de>
In-Reply-To: <199507011831.EAA04830@asstdc.scgt.oz.au> from "michael butler" at Jul 2, 95 04:31:27 am

next in thread | previous in thread | raw e-mail | index | archive | help
As michael butler wrote:
> 
> gw3:~ # mount asstdc:/usr/src /mnt
> gw3:~ # ls /mnt
> ls: /mnt: Stale NFS file handle
> gw3:~ # umount /mnt
> umount: P<strange-chars>: No such file or directory
> gw3:~ # mount
> /dev/wd0a on / (NFS exported, local)
> /dev/wd0e on /usr (NFS exported, local)

Hmm, two possibilities.  Either, it's the NFSv3 code, or it is my
recent fix for some weird NFSv2 servers.  The latter change might
be reverted with:

Index: nfs_subs.c
===================================================================
RCS file: /usr/home/cvs/src/sys/nfs/nfs_subs.c,v
retrieving revision 1.16
retrieving revision 1.15
diff -u -r1.16 -r1.15
--- 1.16	1995/06/14 06:23:38
+++ 1.15	1995/05/30 08:12:43
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)nfs_subs.c	8.3 (Berkeley) 1/4/94
- * $Id: nfs_subs.c,v 1.16 1995/06/14 06:23:38 joerg Exp $
+ * $Id: nfs_subs.c,v 1.15 1995/05/30 08:12:43 rgrimes Exp $
  */
 
 /*
@@ -712,26 +712,7 @@
 	fp = (struct nfsv2_fattr *)cp2;
 	vtyp = nfstov_type(fp->fa_type);
 	vmode = fxdr_unsigned(u_short, fp->fa_mode);
-	/*
-	 * XXX
-	 *
-	 * The duplicate information returned in fa_type and fa_mode
-	 * is an ambiguity in the NFS version 2 protocol.
-	 *
-	 * VREG should be taken literally as a regular file.  If a
-	 * server intents to return some type information differently
-	 * in the upper bits of the mode field (e.g. for sockets, or
-	 * FIFOs), NFSv2 mandates fa_type to be VNON.  Anyway, we
-	 * leave the examination of the mode bits even in the VREG
-	 * case to avoid breakage for bogus servers, but we make sure
-	 * that there are actually type bits set in the upper part of
-	 * fa_mode (and failing that, trust the va_type field).
-	 *
-	 * NFSv3 cleared the issue, and requires fa_mode to not
-	 * contain any type information (while also introduing sockets
-	 * and FIFOs for fa_type).
-	 */
-	if (vtyp == VNON || (vtyp == VREG && (vmode & S_IFMT) != 0))
+	if (vtyp == VNON || vtyp == VREG)
 		vtyp = IFTOVT(vmode);
 	if (isnq) {
 		rdev = fxdr_unsigned(long, fp->fa_nqrdev);


Please tell me if this has been the problem.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507011914.VAA03913>