From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Fri, 29 Apr 2005 20:00:46 +0000 Subject: Re: [linux-usb-devel] usb-storage bug in 2.6.12-rc3 Message-Id: <20050429200046.GB2327@kroah.com> List-Id: References: <1114633284.16803.17.camel@daxter.boston.redhat.com> In-Reply-To: <1114633284.16803.17.camel@daxter.boston.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Fri, Apr 29, 2005 at 10:23:36PM +0400, Roman Kagan wrote: > On Wed, Apr 27, 2005 at 04:14:08PM -0700, Patrick Mansfield wrote: > > On Wed, Apr 27, 2005 at 05:21:10PM -0400, Alan Stern wrote: > > > > > David's right. Why did kobject_hotplug() move out of kobject_add() and > > > into its callers sometime after 2.6.11? In particular the invocation in > > > device_add() is in the wrong place; it needs to come before > > > bus_add_device() starts probing for drivers. Otherwise, as David points > > > out, when the drivers start registering child devices from their probe > > > methods, the hotplug events for those child devices will appear before the > > > event for the parent. > > > > But bus_add_device() calls device_add_attrs() to create attrs, if you call > > it after the hotplug, the user space hotplug event shows up before the > > sysfs attrs are created (if the driver is using the bus->dev_attrs field). > > Do I get it right that at hotplug time the attributes do already exist, > but it is the sysfs files which don't? It's certainly true for USB, I'm > much less acquainted with other subsystems. > > Then, instead of trying to make sure the attributes are available via > sysfs at hotplug time, we can use another means to pass them to hotplug: > we can add a routine, which, when called from the .hotplug function > and given pointers to struct attribute and struct device, would add > environment variable > > SYSFS_attrName=attrValue > > using attribute's .name and .show, to the list of env variables exported > to the hotplug callout. This would allow udev or whatever is called to > get most relevant attributes via environment, if available, otherwise to > poke in sysfs and wait until they show up. > > Sorry but I can't illustrate it with a patch at the moment as I'm > leaving for four days off, maybe I'll be able to do it when I'm back. You mean the current kevent_uevent() call with the action of KOBJ_CHANGE? :) That would work too, for apps that listen to kevent messages. thanks, greg k-h ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel