Date: Fri, 26 Mar 2004 13:07:51 +0100 (CET) From: Soeren Straarup <xride@x12.dk> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: Lukas Ertl <le@FreeBSD.org> Subject: Re: Problem with g_unload_class() Message-ID: <20040326125709.P7009-100000@x12.dk> In-Reply-To: <2248.1080301717@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
Here is my two cents, seen with a new mind: On Fri, 26 Mar 2004, Poul-Henning Kamp wrote: > In message <20040326114343.GG8930@darkness.comp.waw.pl>, Pawel Jakub Dawidek wr > ites: > >On Fri, Mar 26, 2004 at 12:34:08PM +0100, Poul-Henning Kamp wrote: > >+> >Anyway this will be a big change. > >+>=20 > >+> No it isn't. > > > >Hmm, we can simulate such functionality, by doing only tests > >(can we remove this geom? Yes - block geom, return 0; > >No - unblock all geoms, return an error) in *_destroy_geom() > >function and do real removals in *_fini(). > > No, that is not what _fini is for. > Is there a _test_destroy_geom() ? for test purpose. > The solution would be to give destroy_geom() and argument > which can be one of three values: > TEST > COMMIT > ABANDON One way is to test everything if it is blocked by others, if not block it. When reached the end of the list, check if anything was bloacked by others. If so unblock what we blocked and return an error, else commit > > This is classical CS theory, there is no need to reinvent > the hot water or the deep plate. > I'm trying to get an idea of the geom layer. And just trying to come up with ideas. Soeren Straarup | aka OZ2DAK aka Xride FreeBSD wannabe | FreeBSD since 2.2.6-R My brain is on vacation..
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040326125709.P7009-100000>