Skip site navigation (1)Skip section navigation (2)
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>