From 0499edf4591a94eb2fa0ce8bc28b586cbdfed68c Mon Sep 17 00:00:00 2001 From: Pawel Jakub Dawidek Date: Sun, 17 Jul 2005 13:15:02 +0000 Subject: [PATCH] Before calling g_orphan_provider(), add G_PF_WITHER flag, so GEOM will know to destroy it. PR: kern/81758 Submitted by: trasz MFC after: 3 days --- sys/geom/concat/g_concat.c | 1 + sys/geom/stripe/g_stripe.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/geom/concat/g_concat.c b/sys/geom/concat/g_concat.c index f64ae0ac243..bb5b23288bb 100644 --- a/sys/geom/concat/g_concat.c +++ b/sys/geom/concat/g_concat.c @@ -124,6 +124,7 @@ g_concat_remove_disk(struct g_concat_disk *disk) disk->d_consumer = NULL; if (sc->sc_provider != NULL) { + sc->sc_provider->flags |= G_PF_WITHER; g_orphan_provider(sc->sc_provider, ENXIO); sc->sc_provider = NULL; G_CONCAT_DEBUG(0, "Device %s removed.", sc->sc_name); diff --git a/sys/geom/stripe/g_stripe.c b/sys/geom/stripe/g_stripe.c index 6fb8609e0cc..3f66102c32b 100644 --- a/sys/geom/stripe/g_stripe.c +++ b/sys/geom/stripe/g_stripe.c @@ -171,6 +171,7 @@ g_stripe_remove_disk(struct g_consumer *cp) sc->sc_disks[no] = NULL; if (sc->sc_provider != NULL) { + sc->sc_provider->flags |= G_PF_WITHER; g_orphan_provider(sc->sc_provider, ENXIO); sc->sc_provider = NULL; G_STRIPE_DEBUG(0, "Device %s removed.", sc->sc_name);