From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <46783873.4060804@free.fr> Date: Tue, 19 Jun 2007 22:11:31 +0200 From: Philippe Anel User-Agent: Thunderbird 2.0.0.4 (Windows/20070604) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [9fans] About 9P ... Topicbox-Message-UUID: 821c451e-ead2-11e9-9d60-3106f5b1d025 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;