On Wed, 2009-05-27 at 14:07 -0400, Alan Stern wrote: > On Wed, 27 May 2009, James Bottomley wrote: > > > By refcount, I mean count of underlying devices. > > Does that mean only registered devices, or does it include devices > which are unregistered but not yet released? All devices ... scsi_device has to has a target parent before its usable. > > > > The > > > > problem you're complaining about is that the device ref on the target > > > > may take a long time to release, so we can't key the del event on the > > > > refcount going to zero, which is what we do today. > > > > > > Maybe we should be talking about two separate refcounts: a normal > > > get_device/put_device kref counter for the target's lifetime, and a > > > visibility counter (one for each child device and one overall) which > > > keys the del event and must go to 0 before the host removal finishes. > > > > Um, well, that's roughly how I said we'd have to fix all of this in the > > email to hannes ... it would be much easier if we could make a del'd > > device visible, > > I don't follow. Why would you want to delete a target before the host > is removed and then make it visible again later? Because it doesn't > have any underlying devices at the moment but may gain some later on? Perhaps I haven't made the problem clear enough. You only want early del if the host is going away, otherwise the target might be reused and it can't be if you've called del on it. So there needs to be an integration into the host lifecycle in some form. James -- 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