From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] union directories From: rog@vitanuova.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20010323120225.1F2D2199EF@mail.cse.psu.edu> Date: Fri, 23 Mar 2001 13:08:24 +0000 Topicbox-Message-UUID: 735bbc66-eac9-11e9-9e20-41e7f4b1d025 > > This is all a legacy of Unix's model that create means two different > > things in the two situations. > > Well, there you go -- an attempt to create an existing file should > fail. That is a simpler and more useful property. it's not just a problem with the semantics of the create() system call, but with the shell too. if i type: echo hello > /usr/rog/file i expect /usr/rog/file to be created if it isn't already there, but overwritten if it is. if create didn't overwrite an existing file, the shell would have to do exactly as the kernel does currently, and for most intents and purposes you'd still get the same "dual meaning". i think under 9p2000 it's possible to call create() with an OEXCL option and get the semantics you suggest. cheers, rog.