> > Then you mount the connection,
> > see the examples in the man page mount(1).
> > Some devices need some other extra programs be run
> > first, which provide files abstracting the disks for the
> > fileserver to use, like usb which needs another server.
> 
> Is there already some tool for modeling those dependencies
> (hopefully in a purely declarative way) and start/stop
> services on-demand ?

usbd does do a lot of things automaticly.  but there are limits.
eventually one runs into hardware.

maybe one would like to be able to plug in a new pcie card
while the system is running, reenumerate the bus, recognize
the new usb ports, scan them and find the attached disk, start
usb/disk and find the fat filesystem there and start dossrv on
it.

unfortunately, if one's fileserver is connected over ether0
and ether0 is renumbered or needs a different bar as a result
of reenumerating the pcie bus, you're going to have to figure
out how to make sure that the hardware attached to ether0
doesn't change, and how to make sure that the ip stack doesn't
get irritated during the reenumeration and reinitialization
of the adapter.

it's a fairly hard problem.  usbd gets a lot done with little
effort.  it's quite nice.  the downside is that usbd needs to
be godlike in its knowledge of what programs drive what
kind of devices.  this would be harder to do with a more
traditional interface like ethernet that doesn't concurrently
define a data layer and application layer.  (and is assumed
less secure.)

do you really want your os starting, say, aoe just because the
ethernet adapter saw aoe packets floating around on
the wire?

- erik

Reply via email to