[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hurd-related research help requested
From: |
Moritz Schulte |
Subject: |
Re: Hurd-related research help requested |
Date: |
Sat, 22 Feb 2003 15:14:23 +0100 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i686-pc-linux-gnu) |
nisse@lysator.liu.se (Niels Möller) writes:
> * Particular translators, like shadow-fs. As I understand it, it's
> interactino with the rest of the system is not entirely trivial,
> and it might be a good example for really understanding translators
> and the dir_lookup mechanism.
Btw: there was a consensus that it should be better called unionfs;
that's also the name which identifies the package contained in the
hurd-extras repository of Savannah.
Well, actually it is not that complicated, how unionfs does the
lookups on the underlying filesystems; it's just the fs API, which
makes it AFAICS impossible to implement without any race conditions.
The tricky part is that unionfs should return a looked up port
directly to the user, in case it is the root of a new translator (or a
symlink). In that case unionfs' job is over. But this is not
possible _without_ a _new_ lookup of a given port. That new lookup is
necessary, since _first_ unionfs has to do O_NOTRANS lookups to be
able to _know_ what kind of node it has found.
moritz
--
moritz@duesseldorf.ccc.de - http://duesseldorf.ccc.de/~moritz/
GPG fingerprint = 3A14 3923 15BE FD57 FC06 B501 0841 2D7B 6F98 4199