Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Mar 2004 12:32:51 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        Lukas Ertl <le@FreeBSD.org>
Subject:   Re: Problem with g_unload_class()
Message-ID:  <20040326113251.GE8930@darkness.comp.waw.pl>
In-Reply-To: <1621.1080299892@critter.freebsd.dk>
References:  <20040326110046.GD8930@darkness.comp.waw.pl> <1621.1080299892@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

--JViz224v3YRbOSfM
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 26, 2004 at 12:18:12PM +0100, Poul-Henning Kamp wrote:
+> >My idea is to use LIST_FOREACH_SAFE() macro, like I did in my old patch:
+> >
+> >	http://people.freebsd.org/~pjd/patches/geom_subr.c.11.patch
+> >
+> >And maybe we should add:
+> >
+> >	if (!LIST_EMPTY(&mp->geom))
+> >		error =3D3D EBUSY;
+>=20
+> But that is exactly the "silly" scenario I would like to avoid: Now
+> you have removed some of the geom instances an you have nuked the
+> taste and config function and then you give up and leave the class
+> still loaded.

Or we can just remove all this code and leave only this:

	/*
	 * We allow unloading if we have no geoms, or a class
	 * method we can use to get rid of them.
	 */
	if (!LIST_EMPTY(&mp->geom) && mp->destroy_geom =3D=3D NULL) {
		hh->error =3D EOPNOTSUPP;
		return;
	}

+> We may need to move to a "can?/commit!" like two-phase protocol.
+> (see geom_stripe for another place where this is used)

My geom_stripe?
Anyway this will be a big change.

--=20
Pawel Jakub Dawidek                       http://www.FreeBSD.org
pjd@FreeBSD.org                           http://garage.freebsd.pl
FreeBSD committer                         Am I Evil? Yes, I Am!

--JViz224v3YRbOSfM
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFAZBTjForvXbEpPzQRAt3dAJ42uGB8rJoCtMlMZ3Wg1+2Dd/tY5ACfRemC
3he1mtBNDoDuLHst59BQaoI=
=SYni
-----END PGP SIGNATURE-----

--JViz224v3YRbOSfM--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040326113251.GE8930>