9fans archive / 2000 / 03 / 12 /    prev next

From: Roman Shaposhnick vugluskr@uni...
Subject: [9fans] Re: 9p question
Date: Thu, 9 Mar 2000 18:05:22 GMT

On Thu, 9 Mar 2000 14:08:23 GMT, rob pike wrote:
>> 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 '/'), 

 I think this would be a very bad thing. From my point of view the main
strength of 9P is the fact that it allows one to manipulate a hierarchy 
without bothering how names of the members are encoded. That's like you
have a partial ordered set and define elements via their relationship 
between each other. I think this gives a maximum level of freedom in 
how one would define a namespace. 

>but it's such a pain to change the protocol.

  Oh, yes!

>Seeking on a directory is forbidden because it's hard enough to
>implement reading a union directory without seek. 

  What do you mean by "Seeking on a directory" ? As stated in 
manual ( read(5) ) "The read request message must have offset and count zero
modulo DIRLEN.". That's the only restriction. Also I see no restrictions 
of reading from arbitrary offset in u9fs sources.

>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.  

 Hmm, I feel I should try to talk with real 9P servers instead of 
u9fs. 

>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 <sub>c</sub>",  I guess.
>
>Would you have noticed this if it didn't contain your name?

  With first capital letter ? No. :) 

Thanks,
Roman.