Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Aug 2001 19:53:44 +1000
From:      Andrew Kenneth Milton <akm@theinternet.com.au>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        Andrew Kenneth Milton <akm@theinternet.com.au>, Greg Lehey <grog@FreeBSD.ORG>, Michael Lucas <mwlucas@blackhelicopters.org>, current@FreeBSD.ORG
Subject:   Re: devfs and Vinum (was: any -current && vinum problems?)
Message-ID:  <20010815195344.J854@zeus.theinternet.com.au>
In-Reply-To: <75038.997852562@critter>; from Poul-Henning Kamp on Wed, Aug 15, 2001 at 07:16:02AM %2B0200
References:  <20010815113056.H854@zeus.theinternet.com.au> <75038.997852562@critter>

next in thread | previous in thread | raw e-mail | index | archive | help
+-------[ Poul-Henning Kamp ]----------------------
| In message <20010815113056.H854@zeus.theinternet.com.au>, Andrew Kenneth Milton
|  writes:
| >+-------[ Greg Lehey ]----------------------
| >|
| >
| >[snip]
| >
| >| whether it's been fixed.  Basically, devfs as supplied in CURRENT had
| >| a 16 character limit on device names, and it didn't understand
| >| subdirectories: it treated the / as a part of the device name. 
| >
| >The subdir part bit me about a week ago, so I'd say it's still not fixed.
| 
| This is absolutely news to me.  I'm pretty sure that you will find
| that /dev/fd[012] exists on your system and that it was created using
| '/' in make_dev calls...

This I saw, but, I had no idea how this was done.. I've been in a flu induced
coma of late, so I didn't really search too hard to be completely honest..

| 
| More details on this bug are most welcome.

The problem turns up most violently within the XFree86 DRI Module, since
it now uses make_dev, and not mknod as it used to.

The DRI Module first attempts to mkdir /dev/dri/, and then for each card
it supports attempts to use make_dev(9) on dri/card%d (0-whatever), I've
only got one card, so for me dri/card0.

Loading the DRI module causes an instant panic (which I think is actually
caused by DRI, not DEVFS, it's still quite inconvenient).

The same module works fine with a 'regular' /dev/

Assuming that the mkdirs were failing on /dev/ with DEVFS I made a symlink
in rc.devfs for /dev/dri -> /usr/dev/dri (that's how I found the bug with
directory targets of symlinks being treated as symlinks...). This still
caused the panic (which is sort of understandable since /usr/dev/ isn't in
/dev/).

I remove the mkdirs and simply use make_dev on dri_card0 instead of dri/card0,
everything works like a charm. Using mknod also used to work fine with the 
symlink and DEVFS.

-- 
Totally Holistic Enterprises Internet|                      | Andrew Milton
The Internet (Aust) Pty Ltd          |                      |
ACN: 082 081 472 ABN: 83 082 081 472 |  M:+61 416 022 411   | Carpe Daemon
PO Box 837 Indooroopilly QLD 4068    |akm@theinternet.com.au| 

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?20010815195344.J854>