Patch-ID# 100121-09
Keywords: 4.1 NFS Jumbo Patch
Synopsis: 4.1 NFS Jumbo Patch
Date: Feb/24/93

SunOS release: 4.1

Topic: NFS jumbo patch for 4.1

BugID's fixed with this patch: 1026933 1034007 1039977 1029628 1037476 1038327 1038302 1034328 1045536 1045993 1047557 1030884 1052330 1053679

Changes incorporated in this version: adds sun4e 4.1 support

Architectures for which this patch is available: sun3, sun3x, sun4, sun4c, sun4e

Obsolete By: 

Problem Description:

BUGID:1026933
        Pages (not just bytes) of one file appear in another.
 	Only happens on client; file on server OK. 
	Goes away when you reboot.

BUGID:1034007
        getdents system call (used by ls command) was not returning
        all directory entries.


BUGID:1039977
        When the kernel is built with the NFS debugging options 
	the resulting kernel panics due to a bug in the nfs
	debugging code. I also suspect that it would panic 
	if you compiled the kernel with the trace option on.


BUGID:1029628
        When a program with the setuid bit set is copied between
	local files the setuid bit is cleared. If the same file
	is copied to an nfs file system the setuid bit is not 
	cleared on the new file.     

BUGID:1037476
        Sending bad procedure number to NFS server can cause 
	mbuf leak.

BUGID:1038327
        NFS write transfer sizes are not being restored after
	being reduced by the NFS dynamic retransmission feature. 

BUGID:1038302
        NFS export option "anon=-1" does not work. 
	The user will not be allowed to mount the exported 
	filesystem.


BUGID:1034328
        An NFS client can crash if two procedures unlink the
	same file at once.

BUGID:1045536
        NFS exports to non-sun systems can allow file truncation 
	(security violation).
       
BUGID:1045993
        NFS attribute problem on locked files over nfs results
	in read error.

BUGID:1047557
	Old pages not being purged if file gets truncated on
 	server.
	
BUGID:1030884
	Whenever a write to a file cannot be satisfied because
        the filesystem is filled, an ENOSPC error is returned
        (as expected). Subsequent to this error condition, any
        write to the file on that open descriptor also return
        ENOSPC.

BUGID: 1052330
        Repeatedly lock, RW, and unlock an NFS file between
	several clients, can results in inconsistent file
        contents.

BUGID: 1053679
	File range locking of NFS files was broken in 4.x.

INSTALL:

As root:
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_client.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_client.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_common.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_common.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_dump.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_dump.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_export.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_export.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_server.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_server.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_subr.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_subr.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vfsops.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vfsops.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vnodeops.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vnodeops.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_xdr.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_xdr.o.FCS

# mv /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_subr.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_subr.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vfsops.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vfsops.o.FCS
# mv /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vnodeops.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vnodeops.o.FCS
# mv /sys/nfs/export.h /sys/nfs/export.h.FCS
# mv /usr/include/nfs/export.h /usr/include/nfs/export.h.FCS
# mv /sys/nfs/nfs.h /sys/nfs/nfs.h.FCS
# mv /usr/include/nfs/nfs.h /usr/include/nfs/nfs.h.FCS
# mv /sys/nfs/nfs_clnt.h /sys/nfs/nfs_clnt.h.FCS
# mv /usr/include/nfs/nfs_clnt.h /usr/include/nfs/nfs_clnt.h.FCS
# mv /sys/nfs/rnode.h /sys/nfs/rnode.h.FCS
# mv /usr/include/nfs/rnode.h /usr/include/nfs/rnode.h.FCS

# cp sun{3,3x,4,4c,4e}/nfs_client.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_client.o
# cp sun{3,3x,4,4c,4e}/nfs_common.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_common.o
# cp sun{3,3x,4,4c,4e}/nfs_dump.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_dump.o
# cp sun{3,3x,4,4c,4e}/nfs_export.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_export.o
# cp sun{3,3x,4,4c,4e}/nfs_server.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_server.o
# cp sun{3,3x,4,4c,4e}/nfs_subr.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_subr.o
# cp sun{3,3x,4,4c,4e}/nfs_vfsops.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vfsops.o
# cp sun{3,3x,4,4c,4e}/nfs_vnodeops.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_vnodeops.o
# cp sun{3,3x,4,4c,4e}/nfs_xdr.o /sys/sun{3,3x,4,4c,4e}/OBJ/nfs_xdr.o

# cp sun{3,3x,4,4c,4e}/tfs_subr.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_subr.o
# cp sun{3,3x,4,4c,4e}/tfs_vfsops.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vfsops.o
# cp sun{3,3x,4,4c,4e}/tfs_vnodeops.o /sys/sun{3,3x,4,4c,4e}/OBJ/tfs_vnodeops.o

# cp sys/export.h /sys/nfs/export.h
# cp sys/export.h /usr/include/nfs/export.h
# cp sys/nfs.h /sys/nfs/nfs.h
# cp sys/nfs.h /usr/include/nfs/nfs.h
# cp sys/nfs_clnt.h /sys/nfs/nfs_clnt.h
# cp sys/nfs_clnt.h /usr/include/nfs/nfs_clnt.h
# cp sys/rnode.h /sys/nfs/rnode.h
# cp sys/rnode.h /usr/include/nfs/rnode.h

rerun /etc/config <kernel-name>
and make and install the new kernel.
Please refer to the system and networking administration manual
for details on building and installing a new kernel


