summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_plex.c
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2004-06-18 19:53:33 +0000
committerle <le@FreeBSD.org>2004-06-18 19:53:33 +0000
commitb7f1bee2cf9b05ab722e1afbc5292becbd9075f8 (patch)
treec2b00455cfce196919f914d1a51ff3ed4f7d26c3 /sys/geom/vinum/geom_vinum_plex.c
parent3a20dac2f54d6a7e89c05998cfa171b1809a111d (diff)
downloadFreeBSD-src-b7f1bee2cf9b05ab722e1afbc5292becbd9075f8.zip
FreeBSD-src-b7f1bee2cf9b05ab722e1afbc5292becbd9075f8.tar.gz
Clean up allocated ressources when destroying the main vinum geom.
Diffstat (limited to 'sys/geom/vinum/geom_vinum_plex.c')
-rw-r--r--sys/geom/vinum/geom_vinum_plex.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/geom/vinum/geom_vinum_plex.c b/sys/geom/vinum/geom_vinum_plex.c
index beceee0..1887366 100644
--- a/sys/geom/vinum/geom_vinum_plex.c
+++ b/sys/geom/vinum/geom_vinum_plex.c
@@ -66,11 +66,13 @@ gv_plex_orphan(struct g_consumer *cp)
return;
p = gp->softc;
- gv_kill_thread(p);
- p->geom = NULL;
+ if (p != NULL) {
+ gv_kill_thread(p);
+ p->geom = NULL;
+ p->provider = NULL;
+ p->consumer = NULL;
+ }
gp->softc = NULL;
- p->provider = NULL;
- p->consumer = NULL;
g_wither_geom(gp, error);
}
OpenPOWER on IntegriCloud