> Any comments on implementing these at the global VFS level vs individual
> filesystems? I'm leaning back towards the latter now...
Having previously maintained a remote filesystem whose entrypoints were
scattered about the kernel in the various filesystem routines that were
interested, I found that the more places you have to maintain one basic
concept, the more trouble you get into. Concentrating this stuff in one
place (like lookup) will almost certainly save headaches later.
I don't know how the AFS @sys works, but it seems to me that the idea
described of just hacking up the symbolic link code to invent filenames
is a better approach; it's possible that there might be some features that
would be hard to implement that way, but it's a nice simple model and easy
to make it correctly do what it does. I tend to prefer a few gaping holes
in functionality to hundreds of subtle bugs that never quite get fixed...
One thing I'd suggest: if the conditional symbolic links could append their
expansion to some text stored in the symbolic link (i.e. make it possible to
have @sys expand into "/systems/i386_netbsd09" if the @sys link is created
with a text of "/systems/"); this will help (somewhat) in uncluttering the
root. (It's also an idea that could get elaborated to a noxious and
unmaintanable degree, so if it really catches on and people start talking
about BNF grammars for the expansion keywords, forget I asked... ;-)
------------------------------------------------------------------------------