From owner-freebsd-stable Wed Jan 3 15:22:34 2001 From owner-freebsd-stable@FreeBSD.ORG Wed Jan 3 15:22:30 2001 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from earth.backplane.com (placeholder-dcat-1076843399.broadbandoffice.net [64.47.83.135]) by hub.freebsd.org (Postfix) with ESMTP id 13E8F37B400 for ; Wed, 3 Jan 2001 15:22:30 -0800 (PST) Received: (from dillon@localhost) by earth.backplane.com (8.11.1/8.9.3) id f03NMTK51973; Wed, 3 Jan 2001 15:22:29 -0800 (PST) (envelope-from dillon) Date: Wed, 3 Jan 2001 15:22:29 -0800 (PST) From: Matt Dillon Message-Id: <200101032322.f03NMTK51973@earth.backplane.com> To: Marc Culler , freebsd-stable@FreeBSD.ORG Subject: ... yet more spaz email ... Re: Bug in NFSv3 client References: <20010103155533.B71238@math.uic.edu> <200101032243.f03Mhar51440@earth.backplane.com> <200101032308.f03N84f51776@earth.backplane.com> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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