Re: [PATCH 25/20] sysfs: Only support removing emtpy sysfs directories.

James Bottomley
2009-05-27T19:44:23Z

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