NFS JUMBO PATCH README

From: Daniel R. Ehrlich (ehrlich@cs.psu.edu)
Date: Wed Aug 01 1990 - 06:51:18 CDT


I recieved the following from the Hackers_Guild mailing list and thought it
would be of interest.

-- Dan Ehrlich

------- Forwarded Message

Subject: NFS JUMBO PATCH README

================================================================================
Bug Fix Id:
        unix/4.0.3/nfs_jumbo_patch

Problem:
        
        This patch is a MAJOR re-release of 4.0.3 NFS code. It contains
        many important data corruption and nfs hang bug fixes. It should
        be installed on all systems running 4.0.3.

Release:
        4.0.3

Bug Report Id:

- ----------------------------------------------------------------------------
BUGID: 1026933
DESCRIPTION OF BUG:
        Pages (not just bytes) of one file appear in another. Only happens
        on client; file on server OK. Goes away when you reboot.
- -----------------------------------------------------------------------------
BUGID: 1018950
DESCRIPTION OF BUG:
        NULL bytes show up mysteriously in object files. If you
        recompile the file again, it compiles just fine.
- -----------------------------------------------------------------------------
BUGID: 1014464
DESCRIPTION OF BUG:
        NFS sometimes fails under heavy load. This was observed when a
        parallel make was going on and the servers were subjected to a
        heavy load. For example, the C compiler gives the error message
        "Internal error: errno= 70 Stale NFS file handle: Could not
        fclose".
- -----------------------------------------------------------------------------
BUGID: 1023025
DESCRIPTION OF BUG:
        File contents are temporarily read as NULL bytes on a client
        in some cases.
- -----------------------------------------------------------------------------
BUGID: 1029163
DESCRIPTION OF BUG:
        The noac mount option causes corruption and other side effects
- -----------------------------------------------------------------------------
BUGID: 1019132
DESCRIPTION OF BUG
        Improperly exported filesystems may cause server to panic.
- -----------------------------------------------------------------------------
BUGID: 1030417
DESCRIPTION OF BUG
        exportfs -a crashes the system.
- -----------------------------------------------------------------------------
BUGID: 1029156
DESCRIPTION OF BUG
        The rfs_rddirfree function tries to free the result of an
        earlier rfs_readdir. However, if the directory read failed,
        rfs_rddirfree may pass a null pointer and a zero byte count
        to kmem_free.
- -----------------------------------------------------------------------------
BUGID: 1020065
DESCRIPTION OF BUG
        NFS gets unregistered if an nfsd dies regardless if any more are still
        running.
- -----------------------------------------------------------------------------
BUGID: 1017303
DESCRIPTION OF BUG
        A mal-formednfscreate packet causes 'panic: rwip type'
        Apparently, NFS assumes that the mode bits in a nfscreat packet
        are ok. If the FIFO bit was set at creation time then a subsequent
         write packet will cause:
- -----------------------------------------------------------------------------
BUGID: 1026717
DESCRIPTION OF BUG
        Deadlock when proc 0 sleeps on an rnode owned by a proc sleeping
        on freemem.
- -----------------------------------------------------------------------------
BUGID: 1012926
DESCRIPTION OF BUG
        4.0 crash in do_bio because of bad bp->b_resid.
- -----------------------------------------------------------------------------
BUGID: 1012533
DESCRIPTION OF BUG
        NFS server will hang NFS client if the former goes down.
- -----------------------------------------------------------------------------
BUGID: 1030723
DESCRIPTION OF BUG
        Race condition for creating rnodes in makenfsnode.
        Makenfsnode can sleep when allocating a new rnode, which may allow
        another process to create another new rnode for the same file.
- -----------------------------------------------------------------------------
BUGID: 1018301
DESCRIPTION OF BUG
        'id' in filehandle is not being randomized.
        There is a minor bug in the routine, newname(), in sys/nfs/nfs_subr.c.
- -----------------------------------------------------------------------------
BUGID: 1017983
DESCRIPTION OF BUG
        Integer overflow in newname() causes panic.
        The newname() function generates filenames of the form
        form ".nfs" followed by a string of hexadecimal digits
        that is incremented each time the function is called.
        The count is saved in a static variable, newnum. Since
        newnum is signed, it will eventually overflow and become
        negative. This causes newname() to go into an infinite
        loop and scribble all over memory until eventually the
        system panics.
- -----------------------------------------------------------------------------
BUGID: 1018791
DESCRIPTION OF BUG
        Diskless client boot fails on unsuccessful bootparams reply.
        A single incorrectly implemented portmapper
        on the network can prohibit all diskless clients from booting
        since SunOS takes the first and only the first
        valid reply to its broadcast pmap rpc request.
        The kernel should ignore any RPC replies with
        remote errors when it broadcasts an RPC request
        to the portmapper for bootparams.
- -----------------------------------------------------------------------------
BUGID: 1017919
DESCRIPTION OF BUG
        NFS mount may fail when servers support only AUTH_DES
        Nfsrootvp does not set mi_authflavor. This information is
        necessary if talking to a server that has been configured to
        export file systems with anon=-1 (i.e. use AUTH_DES only).
- -----------------------------------------------------------------------------
BUGID: 1032591
DESCRIPTION OF BUG
        4.1 has problems with getdents.
        4.1 seems to have a problem with getdents() across NFS; this
        code works on 4.0.3 and 4.0.3c. The problem showed up on both
        a 4/330 and a 4/60, so it does not seem to be hardware related.
- -----------------------------------------------------------------------------
BUGID: 1032045, 1031932 & 1032185
DESCRIPTION OF BUG
        System panic while config custom kernels on 4/110 diskless.
        Running NFSTS and NSTS on sun3/3x will cause file system panic.
        Failed to boot sun3/50 diskless on 4.1prefcs.
- -----------------------------------------------------------------------------
BUGID: 1030785
DESCRIPTION OF BUG
        ld core dumps over nfs.
        ld sometimes produces a segmentation fault over nfs.
        This situation does not occur over local disks; only nfs mounted
        directories.
- -----------------------------------------------------------------------------
BUGID: 1012593 & 1012596.
DESCRIPTION OF BUG
        NFS write to stale fhandle can cause kernel deadlock
        Writing to an NFS file after the file has been removed on
        the server can cause a kernel deadlock. The nfswrite routine
        in the kernel detects a bad fhandle (ESTALE error) and tries
        to flush the cached pages, but the page currently being written
        is held by the nfs_putpage routine so the flush never completes.

        Unlinked-open files (.nfsxxx) not always removed.
        In some very rare cases .nfs files that are created when
        an open file is unlinked on an NFS filesystem are not removed.
        For this to happen the nfs_inactive routine must sleep while
        pushing out dirty pages and another process must open the
        file, and remove it.
- -----------------------------------------------------------------------------
BUGID: 10011560
DESCRIPTION OF BUG
        system call doesn't return error code
- -----------------------------------------------------------------------------
BUGID: 1026732
DESCRIPTION OF BUG
        Bad vfs pointer in rnode causes panic
- -----------------------------------------------------------------------------
BUGID: 1028176
DESCRIPTION OF BUG
        Shared locks does not seem to turn off NFS caching.
- -----------------------------------------------------------------------------
BUGID: 1015543
DESCRIPTION OF BUG
        Ftruncate/fstat gives wrong results with read-only files.
        If you create a file read-only, use "ftruncate" to make the
        file larger, and then "fstat" the file, the size part of the
        stat structure is incorrect. If, however, there is enough
        time between when the ftruncate returns and when you do the
        fstat, then the correct information will be returned.
FILES MODIFIED: SID
        nfs/nfs_vnodeops.c 2.164
FILES AFFECTED:
- -----------------------------------------------------------------------------
BUGID: 1012649
DESCRIPTION OF BUG
        mv'ing directories into loopback mounted file systems can panic the
        system.
- -----------------------------------------------------------------------------
BUGID: 1018451
DESCRIPTION OF BUG
        Caching of data for record-locked vnode causes corruption.
        Read-ahead is done even if a vnode is marked as non-cacheable. This
        causes corrupted data.
- -----------------------------------------------------------------------------
BUGID: 1032508
DESCRIPTION OF BUG
        User interrupt causes unnecessary nfs write error message.
- -----------------------------------------------------------------------------
BUGID: 1020062
DESCRIPTION OF BUG
        Kernel RPC (server) does not free arguments after a program/vers
        mismatch. NFS servers can panic "out of mbufs" if requests for
        non-existent programs/versions come in to a port in use by kernel rpc.
- -----------------------------------------------------------------------------
BUGID: 1029398
DESCRIPTION OF BUG
        earlier fix accidentally deleted.
        the last delta to clnt_kudp.c done by cpj to fix cstyle problems
        accidentally deleted a line that was added by sarito to fix 4.1
        bug 3.23.6.
- -----------------------------------------------------------------------------
BUGID: 1032864
DESCRIPTION OF BUG
        svckudp_dupdone warning on SunOS 4.1preFCS.
        Sun 4/280 (system name: sapho) running SunOS 4.1 preFCS cut 02
        is creating the following message:
        svckudp_dupdone: warning: increase dup request cache space!
- -----------------------------------------------------------------------------
BUGID: 1026656
DESCRIPTION OF BUG
        Panic in nfsd's due to data fault traps when nfsd's are killed
- -----------------------------------------------------------------------------

Installation Instructions:

        This tar tape should contain the following files:

                README
                jumbopatch.uuen
 
Install instructions:
 
   After extracting fix tape contents into /tmp
   type :
        uudecode jumbopatch.uuen
        uncompress jumbopatch.tar.Z
        tar xvf jumbopatch.tar
   
   Make sure you are root when doing the following:
   mv /usr/sys/nfs /usr/sys/nfs.old
   mv /usr/sys/rpc /usr/sys/rpc.old
 
   If using a sun3:
   cp -r /tmp/jumbopatch/nfs /usr/sys/nfs
   cp -r /tmp/jumbopatch/rpc /usr/sys/rpc
   cd obj.sun3

   Make sure to rename the following files under /usr/sys/sunX/OBJ with .old
   extension:

   clnt_kudp.o nfs_dump.o nfs_subr.o nfs_xdr.o
   nfs_client.o nfs_export.o nfs_vfsops.o svc.o
   nfs_common.o nfs_server.o nfs_vnodeops.o svc_kudp.o

   cp * /usr/sys/sun3/OBJ/.

   Then, rebuild the kernel and reboot the system.
   

\enddata{text822, 0}

------- End of Forwarded Message



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:05:58 CDT