Index: geom_subr.c =================================================================== RCS file: /private/FreeBSD/src/sys/geom/geom_subr.c,v retrieving revision 1.71 diff -u -p -r1.71 geom_subr.c --- geom_subr.c 14 Feb 2004 17:58:57 -0000 1.71 +++ geom_subr.c 4 Mar 2004 16:38:50 -0000 @@ -271,8 +271,10 @@ g_wither_geom(struct g_geom *gp, int err g_topology_assert(); if (!(gp->flags & G_GEOM_WITHER)) { gp->flags |= G_GEOM_WITHER; - LIST_FOREACH(pp, &gp->provider, provider) - g_orphan_provider(pp, error); + LIST_FOREACH(pp, &gp->provider, provider) { + if ((pp->flags & G_PF_ORPHAN) == 0) + g_orphan_provider(pp, error); + } } for (pp = LIST_FIRST(&gp->provider); pp != NULL; pp = pp2) { pp2 = LIST_NEXT(pp, provider);