On 15 November 2010 14:15, Gorka Guardiola <pau...@gmail.com> wrote:
> By namespaces I mean qid's , the notion that a file is the same if the
> name isn't.

mind you, that's problematic in 9p. the qid can be the same even if the
file is different:

% ls -lqd /n/dump/2006/0707/usr/rog
(000000000003d540 1122 80) d-rwxr-xr-x M 42850 rog rog 0 Jun  7  2005
/n/dump/2005/0707/usr/rog
% ls -lqd /n/dump/2006/0707/usr/rog
(000000000003d540 1157 80) d-rwxr-xr-x M 42850 rog rog 0 Jun 12  2006
/n/dump/2006/0707/usr/rog

they have the same qid but they're different directories
with different contents.

it's difficult to do a good job when embedding file systems, as the qid space is
fixed. you can cheat, by rewriting the qid when the file is actually opened
to paper over the most obvious problems, but it's still not great.

perhaps things would be easier if qids were sufficiently large (e.g.
sha1 hash sized)
that an embedding file server could make up new qids (or create them by xoring
in other info) without fear of clashes.

re: 9p pipelining - i've been working on a little experiment related
to this. i'll be sharing the
results in a little while.

Reply via email to