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

From: Alan Stern
Date: Wed May 27 2009 - 12:16:25 EST


On Wed, 27 May 2009, James Bottomley wrote:

> Hardly ... our current refcounting is on destruction (releases). This
> problem is an instance of visibility (the del calls) we need the
> visibility teardown to work nicely. We currently have no refcounting on
> the visibility. Even if we did (and we could add a ref on when the
> underlying device del calls are done), what happens if the target needs
> to become visible again. Apparently the generic device infrastructure
> can't accept doing an add on a previously del'd device.

Definitely not.

> The most obvious way of fixing this is to have a special case for
> targets of dying hosts ... they could call del early on the
> understanding that they're never getting new underlying devices. That
> would allow the wait to trigger on the last target del, which is what is
> optimal.

I don't understand all the subtle issues here. In other contexts, the
solution would be to initialize a refcount to 1 when the target is
allocated, increment it when a device is added, and decrement it when a
device is removed or the host is removed. When the refcount goes to 0,
the target is deleted. Why wouldn't this kind of approach work?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/