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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html