Unloading GEOM classes
Lukas Ertl
le at FreeBSD.org
Thu May 20 12:28:55 PDT 2004
On Wed, 19 May 2004, Pawel Jakub Dawidek wrote:
> Here is the patch:
>
> http://people.freebsd.org/~pjd/patches/g_unload_class.patch
>
> UNTESTED. Lukas, could you try it and see if it fix your problem.
> The whole trick could a g_waitidle() after calling destroy_geom method.
Thanks Pawel, but unfortunately, it didn't work out. I subclass the
geom_slice class and end up in a panic in g_slice_spoiled() - the geom's
consumers have already been destroyed, but the providers have not (if I
check for a NULL cp in g_slice_spoiled I end up in an infinite loop, since
the geom isn't "empty"). I'm not sure how g_waitidle() can help here,
since I don't see where g_pending_events is incremented/decremented in
that path.
The last relevant thing I see in the g_topology trace is the call to
g_orphan_provider(). I haven't found out yet why g_orphan_register isn't
called, which would solve the problem, I guess.
cheers,
le
--
Lukas Ertl http://mailbox.univie.ac.at/~le/
le at FreeBSD.org http://people.freebsd.org/~le/
More information about the freebsd-geom
mailing list