Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 22:56:16 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/nfs nfs_vnops.c
Message-ID:  <199911300656.WAA98186@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      1999/11/29 22:56:16 PST

  Modified files:
    sys/nfs              nfs_vnops.c 
  Log:
      The symlink implementation could improperly return a NULL vp along with
      a 0 error code.  The problem occured with NFSv2 mounts and also with
      any NFSv3 mount returning an EEXIST error (which is translated to 0
      prior to return).  The reply to the rpc only contains the file handle
      for the no-error case under NFSv3.  The error case under NFSv3 and
      all cases under NFSv2 do *not* return the file handle.  The fix is
      to do a secondary lookup to obtain the file handle and thus be able
      to generate a return vnode for the situations where the rpc reply
      does not contain the required information.
  
      The bug was originally introduced when VOP_SYMLINK semantics were
      changed for -CURRENT.  The NFS symlink implementation was not properly
      modified to go along with the change despite the fact that three
      people reviewed the code.  It took four attempts to get the current
      fix correct with five people.  Is NFS obfuscated?  Ha!
  
  Reviewed by:	Alfred Perlstein <bright@wintelcom.net>
  Testing and Discussion: "Viren R.Shah" <viren@rstcorp.com>, Eivind Eklund <eivind@FreeBSD.ORG>, Ian Dowse <iedowse@maths.tcd.ie>
  
  Revision  Changes    Path
  1.147     +34 -4     src/sys/nfs/nfs_vnops.c



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




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