Hello 9fans,
Regarding 9P design, I wonder why Fids are chosen by the client : I tried to find an answer in the docs, manuals or in 9fans archive but I have not found an answer (please tell me where I can find an answer if I missed something). Can someone explain me the reason why the Fids are not returned by the server (along with the Qids by example) ? Because Fids are chosen by the client, the server must search in a table (hash table in lib9p) the associated file structure, Whereas if Fids are chosen by the server, a simple array is enough. I don't know however, if the performance improvement is really important. In fact I'm quite sure it is not. I also think this is not because of a security issue even if there may be multiple clients sharing the same connection. Indeed, because the transactions are only between the server and the kernel or an remote (tcp/il) connection, it seems a process cannot steal the fid of another process (or another namespace). Regarding the transactions with the kernel, a process has no access to fids. And regarding the transaction with a remote connection, the connection point can be used as a kind of fid space. Maybe I'm wrong about the security issue, I only want to know why 9P has been designed with such policy. Thank you, Phil;
