NFS bug?

J Mukerji jis at mtgzx.att.com
Wed Jul 18 07:59:46 AEST 1990


Excerpts from sun-spots: 15-Jul-90 Sun-Spots Digest, v9n248

> I have come across a strange behaviour on my Sun system (well, I don't
> actually OWN it, but...). My system is a 4/260 server and some 3/60
> clients (all clients are diskless). The problem has to do with NFS (I
> think). 

> On one of the clients, the file /usr/include/strings.h contains text from
> a totally different file, a user-made file and not a system file (and the
> user does not have any system privileges). "Oh, the file was overwritten
> then somhow" I thought.  But when I looked at
> /export/exec/sun3/include/strings.h on the server, everything was OK, the
> file had its correct content.  "Strange..." I thougt, and went to another
> client and looked, and lo!, it too showed the correct content!  The file
> on the server and the file on the (one) "faulty" client have the same
> inode number (as it should be!), but seemingly different contents!


Congratulations! You have just hit the "Confused NFS client" bug. Here is
a blurb on it from the README file that comes with the patches to fix this
problem:


Date:		5/14/90
SunOS release:  4.0.3, 4.1
Topic:
Bugid's fixed with this patch: 1026933
Architectures for which this patch is available: 3,3x,4,4c
Obsoleted by:
Problem Description:
	Pages (not just bytes) of one file appear in another.  Only happens 
	on client; file on server OK.  Goes away when you reboot.

FILES MODIFIED: 
	File				SID
	nfs_client.c			1.8
	nfs_clnt.h			2.20
	nfs_subr.c			2.87
	nfs_vnodeops.c			2.159
	rnode.h				1.22
FILES AFFECTED: 
	Other files that have to be recompiled:
	dbx_nfs.c
	nfs_dump.c
	nfs_vfsops.c

	rnode.adb - 	it hasn't changed but it has to be recompiled for the
			resulting rnode adb macro to work correctly.

-----------------------------------------------------------------------------
Make sure to backup all files before doing this.

INSTRUCTIONS:
-------------

There are .h files and .o files that need to be changed for this fix.

Copy /usr/sys/sun(X)/OBJ/nfs*.o to /usr/tmp/nfs.old  <-- backup old obj's
Copy the nfs*.o files into /usr/sys/sun(X)/OBJ directory
Make a new Kernel
Copy /vmunix to /vmunix.old
Copy the new kernel into /vmunix
reboot the system
lastly copy *.h files into the /usr/include/nfs directory.

ADB instructions:
-----------------
copy rnode file into /usr/lib/adb
__________________________________________________________________

Ask your Sun Software Support person for the patch, and then proceed to
install it verrry carefully, since what you basically do is replace
almost everything that goes into the client end of NFS and then rebuild
all of your kernels. I have done it here for sun3, sun3x, sun4, and
sun4c and haven't seen this particular problem after that.

                            Jishnu Mukerji,  
                           jis at mtgzx.att.com, 
                           +1 201 957 5986,  
                        AT&T Bell Laboratories, 
                      MT 3K-423, 200 Laurel Ave., 
                           Middletown NJ 07748



More information about the Comp.sys.sun mailing list