Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!ulysses!hector!ekrell From: ekrell@hector.UUCP (Eduardo Krell) Newsgroups: comp.unix.questions Subject: Re: Symlinks and .. Message-ID: <12429@ulysses.homer.nj.att.com> Date: 28 Nov 89 16:07:21 GMT References: <2755@munnari.oz.au> <12407@ulysses.homer.nj.att.com> <5270@omepd.UUCP> Sender: netnews@ulysses.homer.nj.att.com Reply-To: ekrell@hector.UUCP (Eduardo Krell) Organization: AT&T Bell Laboratories Lines: 27 In article <5270@omepd.UUCP> merlyn@iwarp.intel.com (Randal Schwartz) writes: >Do you propose maintaining a real path throughout all chdir(2) calls? I don't know what you mean by that. Is this a question about the concept or about a particular implementation of it? We implemented it in the namei cache, which holds an entry for the root directory and current working directory of all processes. It actually has entries for each path component, so /usr/foo/bar1 and /usr/foo/bar2 share the 2 entries for /usr and /usr/foo. >What if a portion of the path gets renamed? Does the path become >invalid? (a new errno error: ECWDGONE == "The current directory is no >longer valid".) That's not a problem with the above implementation. You just have to play with the pointers in the cache to make them point to the new component(s). >Nope. ".." will probably mean what it means for a real long time. :-) Maybe, but you'll have to find another excuse now. Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ UUCP: {att,decvax,ucbvax}!ulysses!ekrell Internet: ekrell@ulysses.att.com