summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_plex.c
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2004-06-16 14:41:04 +0000
committerle <le@FreeBSD.org>2004-06-16 14:41:04 +0000
commitc2c39c895678d3e7ac762a0370704c00a5f851bb (patch)
tree33a093d93d5d77276951b18f914832f20c2f0c48 /sys/geom/vinum/geom_vinum_plex.c
parentdf666606e40b3eceb25bbd6cedf1d5fb125047ca (diff)
downloadFreeBSD-src-c2c39c895678d3e7ac762a0370704c00a5f851bb.zip
FreeBSD-src-c2c39c895678d3e7ac762a0370704c00a5f851bb.tar.gz
Handle dead disks in a somewhat sane way.
Diffstat (limited to 'sys/geom/vinum/geom_vinum_plex.c')
-rw-r--r--sys/geom/vinum/geom_vinum_plex.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/geom/vinum/geom_vinum_plex.c b/sys/geom/vinum/geom_vinum_plex.c
index a7acf72..beceee0 100644
--- a/sys/geom/vinum/geom_vinum_plex.c
+++ b/sys/geom/vinum/geom_vinum_plex.c
@@ -67,7 +67,10 @@ gv_plex_orphan(struct g_consumer *cp)
p = gp->softc;
gv_kill_thread(p);
- g_free(p);
+ p->geom = NULL;
+ gp->softc = NULL;
+ p->provider = NULL;
+ p->consumer = NULL;
g_wither_geom(gp, error);
}
OpenPOWER on IntegriCloud