COMMAND

    NFS

SYSTEMS AFFECTED

    Those runnng NetApp NFS

PROBLEM

    Dmitry Kohmanyuk  posted following.   It's only relevant to  those
    using NetApp NFS  file servers.   There are 2  versions of NFS  in
    town, v2 and v3.  In  v3, one of things introduced was  ability to
    read names of files in directory with stat(2)ing them at the  same
    time; the procedure name is readdirplus.  It can be used to  speed
    up programs like ls(1).

    Apparently, NFS code in FreeBSD 2.2 (derived from 4.4BSD code,  so
    perhaps this  applies to  all of  modern BSD  systems here)  allow
    client to specify this in mount options without using NFS v3. This
    meaningless set of options panics NetApp file server.

SOLUTION

    The following  simple patch  for /usr/src/sys/nfs/nfs_bio.c  fixes
    this problem.

    --- nfs_bio.c.ok        Wed Nov  5 20:11:17 1997
    +++ nfs_bio.c   Wed Nov  5 20:14:06 1997
    @@ -1031,6 +1031,8 @@
                case VDIR:
                    nfsstats.readdir_bios++;
                    uiop->uio_offset = ((u_quad_t)bp->b_lblkno) * NFS_DIRBLKSIZ;
    +               if (!(nmp->nm_flag & NFSMNT_NFSV3))
    +                       nmp->nm_flag &= ~NFSMNT_RDIRPLUS;       /* dk@farm.org */
                    if (nmp->nm_flag & NFSMNT_RDIRPLUS) {
                            error = nfs_readdirplusrpc(vp, uiop, cr);
                            if (error == NFSERR_NOTSUPP)