Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2003 16:19:57 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: devd limitations / automounting removable storage 
Message-ID:  <Pine.NEB.3.96L.1030917161519.51283B-100000@fledge.watson.org>
In-Reply-To: <30912.1063828673@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 17 Sep 2003, Poul-Henning Kamp wrote:

> In message <XFMail.20030917143601.jhb@FreeBSD.org>, John Baldwin writes:
> 
> >Maybe have GEOM send events when mountable entities show up?
> 
> There is only one question to figure out:  Should it happen at the
> bottom or the top of GEOM ? 
> 
> At the bottom, your CF card would result in a single event on /dev/ad4,
> at the top you'd likely get two events, one for /dev/ad4 and one for
> /dev/ad4s1 (or whatever other gadgets geom autodiscovers). 
> 
> Apart from that, it's just a matter of telling me how to send the
> event... 

This is a very similar concern to the question I raised at BSDCon about
distinguishing network interfaces at the newbus and network service
levels.  My temptation would be to assign a "layer" as well as a device
name to devices when they are announced.  I.e.,

Layer	Device		Meaning
newbus	xl0		A device named xl0 is now available
devfs	net/xl0		A device node named net/xl0 is now available
ifnet	xl0		A network interface named xl0 is now available
newbus	ad0		A device named ad0 is now available
devfs	ad0		A device node named ad0 is now available
geom	ad0		A storage device named ad0 is now available

We might skip the devfs layer since it's probably implicit in the
completion of ifnet_attach() and disk_create(), but it's worth thinking
about.  This would allow ifconfig commands to be issued once the network
device is available, rather than once newbus has attached an xl0.  Or for
geom to announce ad0s1e even though newbus doesn't know about it.  Or for
devd to handle the introduction of synthetic interfaces such as vlan, tun,
etc, which aren't visible to newbus.  Or for the device driver names and
interface names to differ (or for a non-one-one mapping, interface
renames, etc). 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Network Associates Laboratories




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1030917161519.51283B-100000>