Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uunet!convex!thurlow From: thurlow@convex.com (Robert Thurlow) Newsgroups: comp.protocols.nfs Subject: Re: Symlink locking considered useless over NFS Message-ID: Date: 22 Apr 91 15:59:57 GMT References: <3064@cirrusl.UUCP> <280EE8A1.30D@tct.com> <28124239.17CE@tct.com> Sender: newsadm@convex.com (news access account) Organization: Convex Computer Corporation, Richardson, Tx. Lines: 27 Nntp-Posting-Host: dhostwo.convex.com In <28124239.17CE@tct.com> chip@tct.com (Chip Salzenberg) writes: >According to thurlow@convex.com (Robert Thurlow): >>C'mon Chip, flame in the right direction. The lack of support for >>O_EXCL in the create operation of NFS isn't a feature of statelessness, >>it's just a simple-minded protocol bug. >I don't understand. How can the server know that it's me >re-requesting an already-successful creation, and not some other >process on the client machine asking to create the same file? >(Please note that solutions based on keeping transaction info for the >last N seconds are NOT acceptable, as the network cable might be >disconnected for N+1 seconds.) You have to enforce do-it-once semantics to not get false failures, right? Over UDP, that means you need a transaction cache, which is not a perfect solution, granted. UDP should not be the only option. Over TCP, you could trust that the transaction happened only once, but you'd still be hosed without O_EXCL in the protocol. In my experience, UDP with a transaction cache works pretty reliably, and NFS over TCP isn't far away, so the limitation as I see it is the protocol bug. Rob T -- Rob Thurlow, thurlow@convex.com An employee and not a spokesman for Convex Computer Corp., Dallas, TX