Re: Unregistering interfaces

Andrew Morton
2004-03-29T23:29:22Z

Greg KH <greg@kroah.com> wrote:
>
> > The module should remain in memory, "unhashed", until the final kobject
> > reference falls to zero. Destruction of that kobject causes the refcount
> > on the module to fall to zero which causes the entire module to be
> > released.
> >
> > (hmm, the existence of a kobject doesn't appear to contribute to its
> > module's refcount. Why not?)
>
> It does, if a file for that kobject is opened. In this case, there was
> no file opened, so the module refcount isn't incremented.

hm, surprised. Shouldn't the existence of a kobject contribute to its
module's refcount?

> > Maybe a shrink_dcache_parent(dentry) on entry to simple_rmdir() would
> > suffice?
>
> Will that get rid of the references properly nwhen we remove the
> kobject?

That's one the dcache guys could address better, but I was mainly proposing
it as a way of removing any negative dentries. But it appears that we have
problems beyond negative dentries?