Messages in this thread | | | Date | Mon, 8 Jun 2009 16:13:05 -0700 | From | David VomLehn <> | Subject | Re: [PATCH 7/7] initdev:kernel:Await block device discovery |
| |
On Tue, Jun 09, 2009 at 12:55:01AM +0200, Stefan Richter wrote: > David VomLehn wrote: >> On Sat, Jun 06, 2009 at 06:04:38AM -0400, Stefan Richter wrote: >>> 1.) It depends on the rootdelay so big that it is guaranteed that >>> one or more initdev_found() have been called before >>> prepare_namespace()'s ssleep(root_delay) is over. > ... >> I think you misunderstood. Buses are enumerated before this code is >> reached and thus initdev_found() has already been called for all attached >> block devices. > ... >> I would appreciate it if you could take a closer look at the locations where >> initdev_found() and initdev_probe_done() are called and see if you still >> think there is a problem. > > I obviously need to do that. > > However, one issue remains: If somebody wants to use your API for > another bus, he needs to know at which point he can successfully use it, > and after what point (or context) it cannot, even must not, be used > anymore. This isn't documented --- or is it?
Hmm, I tried to make this clear in Documentation/driver-model/initdev.txt, but I don't claim to be much of a writer and am open to suggestions.
> (By 'buses are enumerated before...' you surely mean only the buses for > which you implemented this API usage already.)
Yes, definitely. In an ideal world, every bus which might have a console, network, or block device would be using this API. USB is a big problem for me, so that's the itch I scratched. Alan Stern also gave a rub to SCSI. If people are using devices on, say, Firewire, they will have whatever behavior they had before the introduction of the API.
> Stefan Richter
David VomLehn
| |