siegel@magni.cs.cornell.edu (Alexander Siegel) (10/10/88)
In article <7376@bloom-beacon.MIT.EDU> jtkohl@athena.mit.edu (John T Kohl) writes: >At MIT Project Athena, we have been bitten hard by a problem in the 3.0 >(and 3.2) NFSSRC (VAX and IBM/RT 4.3BSD UNIX) handling of non-idempotent ... >The fix we have implemented at Project Athena is a protocol revision, ... >Our fix is to send the last known modification time in the truncation >request to the NFS server. When the server sees a truncation request This is just a simple serialization protocol. Why not just use TCP for transmission instead of UDP? Alex Siegel - CS graduate drudge at Cornell a.k.a. Scimitar; a.k.a. Phineas Ginn (SCA); a.k.a. Trash siegel@cs.cornell.edu (607)255-1165
silveri%pugsley@Sun.COM (Chris Silveri) (10/11/88)
In article <7376@bloom-beacon.MIT.EDU>, jtkohl@athena.mit.edu (John T Kohl) writes: > At MIT Project Athena, we have been bitten hard by a problem in the 3.0 > (and 3.2) NFSSRC (VAX and IBM/RT 4.3BSD UNIX) handling of non-idempotent > requests, such as create-with-truncate. This particular bug evidenced > itself by creating "holes" in files and unexpectedly truncating files > with no error indicated to the client user-level code. > > Our fix is to send the last known modification time in the truncation > request to the NFS server. When the server sees a truncation request > with a valid modification time, it checks this time against the time > stored in the filesystem inode. If they match, the truncation is > performed, otherwise the packet is treated as a duplicate. NFS version 3 addresses the problem of SETATTR as well as the other non-idempotent procedures. Clients will have to supply a correct "ctime" to the server. If the "ctime" does not match, the server returns a duplicate request error. Other changes include the addition of an exclusive flag to CREATE, and fhandles of targets to destroy in non-exclusive CREATEs, REMOVES, etc. And much more... The protocol specification for NFS version 3 is in public domain and has been circulated at several conferences (e.g. Usenix in S.F). We welcome your comments and suggestions about the spec. A special mail alias has been setup {sun!nfs3 or nfs3@sun.com} to receive them. *** NOTE *** Currently all NFS implementations use version 2 of the NFS protocol !!! Christopher Silveri Sun Microsystems