Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jan 2001 15:22:29 -0800 (PST)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Marc Culler <culler@math.uic.edu>, freebsd-stable@FreeBSD.ORG
Subject:   ... yet more spaz email ... Re: Bug in NFSv3 client
Message-ID:  <200101032322.f03NMTK51973@earth.backplane.com>
References:  <20010103155533.B71238@math.uic.edu> <200101032243.f03Mhar51440@earth.backplane.com> <200101032308.f03N84f51776@earth.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
    Found it.  /usr/src/sys/nfs/nfs_serv.c line 1737 (in stable)

                        if (error)
                                NDFREE(&nd, NDF_ONLY_PNBUF);
                        else {
                                nfsrv_object_create(nd.ni_vp);
                                if (exclusive_flag) {
                                        exclusive_flag = 0;
                                        VATTR_NULL(vap);
                                        bcopy(cverf, (caddr_t)&vap->va_atime,
                                                NFSX_V3CREATEVERF);
                                        error = VOP_SETATTR(nd.ni_vp, vap, cred,
                                                procp);
                                }
                        }

    Say what?  It's copying the version block into va_atime for the file?

    It looks like this bug has been in here since NFSv3 was first
    coded up, this is where the code is added:

# revision 1.16
# date: 1995/06/27 11:06:37;  author: dfr;  state: Exp;  lines: +2161 -771
# Changes to support version 3 of the NFS protocol.
# The version 2 support has been tested (client+server) against FreeBSD-2.0,
# IRIX 5.3 and FreeBSD-current (using a loopback mount).  The version 2 support
# is stable AFAIK.
# The version 3 support has been tested with a loopback mount and minimally
# against an IRIX 5.3 server.  It needs more testing and may have problems.
# I have patched amd to support the new variable length filehandles although
# it will still only use version 2 of the protocol.
# 
# Before booting a kernel with these changes, nfs clients will need to at least
# build and install /usr/sbin/mount_nfs.  Servers will need to build and
# install /usr/sbin/mountd.
# NFS diskless support is untested.

    I'm not sure what the solution is... possibly to just remove the whole
    piece of code surrounded by the if (exclusive_flag) { .... }

    I will do some testing later tonight when I get home.  You might try
    the above yourself, or you can wait.  I'm really confused as to why
    the access time stamp was being forced to the NFS version info data
    in the first place.

						-Matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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