diff --git a/sys/geom/concat/g_concat.c b/sys/geom/concat/g_concat.c index f64ae0ac243f..bb5b23288bbb 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 6fb8609e0cc1..3f66102c32bd 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);