From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 9 Mar 2000 08:50:41 -0500 From: rob pike rob@plan9.bell-labs.com Subject: [9fans] Re: 9p question Topicbox-Message-UUID: 9ec2f956-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <20000309135041.ADwV8IAtLjSXb6Qu9x7y2ueJ3JP7oknRKwV4P2vSIcQ@z> > The real reason for the "lengthy" conversation is the Tclone/Twalk > part. That is part of the price that is paid to remove the '/' as a > directory separator No. The real reason is that after each walk the client must check whether the point-so-far is in the mount table. That's why it's done a path element at a time, and why it's so slow. Other designs have been proposed that would allow a walk message to contain multiple elements (requiring the server to parse and understand '/'), but it's such a pain to change the protocol. Seeking on a directory is forbidden because it's hard enough to implement reading a union directory without seek. The internal structure that must be maintained in the kernel was deemed too hard to maintain other than by sequential access, so we made seeking on a directory illegal. It didn't seem worth the implementation overhad. I still feel that way. >There are a lot of strange things like: > delim $$ define lbr ' roman "{" ' define rbr ' roman "}" ' >or > $CH sub c$ >which should be "CH c", I guess. Would you have noticed this if it didn't contain your name? -rob