Re: varlinks! (and 2.1.98 works for me)

Andreas Jellinghaus (aj@dungeon.inka.de)
Wed, 29 Apr 1998 23:01:08 +0200


i had the same idea. great, that you implemented it.

>varlinks are symlinks that have a variable part in them. An example
>will make things clear:

it must work this way : first try to resolv without interpreting the symlink.
only if it fails, you may give it a second chance.

> echo "HOME=/home/wolff" > /proc/$$/varlinks

we need a way to initialize some variable when booting, with lilo append=
lines or loadlin parameters.

>-- Do the oneliner for the other filesystems.

all i need is nfs fs support :-)

>Linus: If you disregard the coding style, some inefficiencies, and
>possible races for now, would it be possible to include this in the
>running-kernel-series? Or "wait for 2.3" or "not over my dead body"?

Linus : please give it a chance ! 2.1 has a broken nametrans patch.
i think this is a good replacement for nametrans :
- process all normal files as usual.
- process all normal symlinks as usual.
- only broken symlinks get a second change, and are evaluated.

this allows /etc/inittab to be a symlink to /etc/GENERIC/inittab.${host}
which is great stuff for nfsroot systems - no need for a per host /etc
directory. on my > 50 machine set i have 5 per host files. all others are
shared.

and evaluating a symlinks is much cleaner design and much faster, than
scanning a directory for e.g. inittab#host=myhostname# files.

>everybody: I'd appreciate feedback "it works", "I'd like this feature,
>but I didn't have time to try it", "It doesn't work".

i will test. please change the semantic : only evaluate symlinks,
if they seem to be broken. this way you have no loss of cpu time
(in fact no single command is added), if a file is found.

as you can see, my primary interest is replaceing name translation,
and the concept of evaluating a symlink looks much better to me, than
scanning a directory. what about a default configuration :
${hostname} and ${domainname} should always be current hostname/domainname.

this, and adding one field via lilo (type=(server|clientP5|clientK6)
is all i need. uid isn't necessary for me.

andreas

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu