There's a nice paper "The use of namespaces in plan 9" explaining most of it.
On Fri, Jan 22, 2010 at 11:00 PM, erik quanstrom <quans...@coraid.com> wrote: >> A) Why aren't there the following (POSIX) file operations: `move`, >> `link` and `symlink` in the original 9p2000 protocol version? >> >> Now I know that by using `wstat` I can change the name of a file, >> but I can't move it outside the current directory. > > symlinks weren't wanted. they create many problems and can be > simulated with bind(1). > > link similarly was not wanted. it assumes too much about the > structure of the filesystem. > > move across directories is not supported because they may be on > different file servers. > >> B) Also why isn't there a way to do meta-operations on files? For >> example: application specific requests on file-id's? >> >> Something like: >> size[4] Tquery tag[2] fid[4] int[4](query-request-selector) input[s] >> size[4] Rquery tag[2] fid[4] int[4](query-response-selector) >> output[s] > > this is done with [TR]write. for example, to do a dns query you > write the query into /net/dns and read the response from the same fd. > > - erik > >