cvs commit: src/sys/sys varsym.h src/sys/kern kern_varsym.c vfs_lookup.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Nov 9 12:30:27 PST 2003
dillon 2003/11/09 12:29:59 PST
DragonFly src repository
Modified files:
sys/sys varsym.h
sys/kern kern_varsym.c vfs_lookup.c
Log:
Implement variant symlinks! In order to use variant symlinks you must first
enable them with the vfs.varsym_enable sysctl. Variant symlinks are disabled
by default (the default will change in the future). WORK TODO: system-wide
and per-user variable sets need to be per-jail, and a method of listing
existing variables is needed.
The 'varsym' utility may be used to set and retrieve system-wide or per-user
variables regardless of whether variant symlinks are enabled or not. Note
that per-process variables may also be set by a program (e.g. like a csh
builtin or explicitly by a program).
When enabled, variable replacement will occur on softlinks which are
resolved as part of path lookup. ${VARNAME} patterns within the softlink
will be replaced by the contents of the variable. If a variable does not
exist, no replacement occurs. ENAMETOOLONG will occur if a post-replacement
softlink pattern exceeds MAXPATHLEN (1024 bytes).
Note that variable names are case sensitive. The per-process varsym list
is checked first, then the per-user list, then the system-wide list.
Revision Changes Path
1.2 +1 -0 src/sys/sys/varsym.h
1.2 +57 -0 src/sys/kern/kern_varsym.c
1.9 +17 -1 src/sys/kern/vfs_lookup.c
http://www.dragonflybsd.org/cvsweb/src/sys/sys/varsym.h.diff?r1=1.1&r2=1.2&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_varsym.c.diff?r1=1.1&r2=1.2&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_lookup.c.diff?r1=1.8&r2=1.9&f=h
More information about the Commits
mailing list