Date: Tue, 17 Feb 1998 11:49:57 -0800 (PST) From: Simon Shapiro <shimon@simon-shapiro.org> To: Julian Elischer <julian@whistle.com> Cc: current@FreeBSD.ORG Subject: Re: devfs persistence Message-ID: <XFMail.980217114957.shimon@simon-shapiro.org> In-Reply-To: <34E9DE3B.284797A9@whistle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 17-Feb-98 Julian Elischer wrote:
> Simon Shapiro wrote:
>>
>>
>> The only thing not clear to me (I know this is obvious), is; With an
>> all
>> DEVFS, can I still do ``mkdir -p /a/b/c/d;cd /a/b/c/d;mknod foo c 123
>> 456,
>> or its equivalent? If not, then symbolic links are fine too.
>
>
> you cannot mknod. only the drivers can make nodes.
> (though there are ways to solve some problems you might normally
> try use mknod for)
Ah, too bad. This means I cannot make stupid mistakes anymore?
>> Oh, a /dev DEVFS mounted, can it create links and/or symlinks?
>> Why not?
>
> The user can use ln (with or without -s)
Can the user do mkdir in /dev?
So, if I create a file /etc/devfs.conf with something like :
# Sample /etc/devfs.conf
sd33s1a rdbms-PartA 0660 pgsql.DBA
cuaa00 mouse 0666 bin.bin
sd64s2g nil 0600 nil
and in /etc/rc put something like:
if [ -f /etc/devfs.conf ]
then
line_no=0
cat /etc/devfs.conf | grep -v '^#" | grep -v '^$' | while read line
do
orig=`echo ${line} | awk '{ print $1 }'`
link=`echo ${line} | awk '{ print $2 }'`
perms=`echo ${line} | awk '{ print $3 }'`
owner=`echo ${line} | awk '{ print $3 }'`
if [ -f /dev/${orig} ]
then
if [ ${orig:-x} != x -a ${link:-x} != x -a ! -f /dev/{link} ]
then
if [ ${link} != nil ]
then
ln ${orig} ${link}
fi
else
echo -c "Link Name Error in logical line ${line_no} of "
echo "/etc/devfs.conf"
fi
if [ ${perms:-x} != x ]
then
if [ ${perms} != nil ]
then
chmod ${perms} /dev/${orig}
fi
else
echo "Error in logical line ${line_no} of /etc/devfs.conf"
fi
if [ ${owner:-x} != x ]
then
if [ ${owner} != nil ]
then
chown ${owner} ${orig}
fi
fi
fi
done
fi
... I will have a perfectly persistant DEVFS, without touching any kernel
code. Yes?
BTW, the above pretend code is NOT a formal patch proposal. It took all
of three minutes to do, and is abviously flawed in more than one place.
But the concept should be clear.
----------
Sincerely Yours,
Simon Shapiro
Shimon@Simon-Shapiro.ORG Voice: 503.708.7858
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.980217114957.shimon>
