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;

Reply via email to