diff options
author | le <le@FreeBSD.org> | 2004-08-10 20:51:48 +0000 |
---|---|---|
committer | le <le@FreeBSD.org> | 2004-08-10 20:51:48 +0000 |
commit | 8bc23a2edf55a79610cbbe7bf8cc4178ee9984ef (patch) | |
tree | 7d2f5e718bc7599d3085e80048e24ec5636a8630 /sys | |
parent | 627d263e7e38974773d075a1f56f8780cea6ab37 (diff) | |
download | FreeBSD-src-8bc23a2edf55a79610cbbe7bf8cc4178ee9984ef.zip FreeBSD-src-8bc23a2edf55a79610cbbe7bf8cc4178ee9984ef.tar.gz |
If we kill the worklist thread of a RAID5 plex we can destroy
the worklist mutex at the same time, so move the mtx_destroy() call
to gv_kill_thread().
Diffstat (limited to 'sys')
-rw-r--r-- | sys/geom/vinum/geom_vinum_plex.c | 1 | ||||
-rw-r--r-- | sys/geom/vinum/geom_vinum_subr.c | 1 |
2 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/vinum/geom_vinum_plex.c b/sys/geom/vinum/geom_vinum_plex.c index 02855e4..448f55e 100644 --- a/sys/geom/vinum/geom_vinum_plex.c +++ b/sys/geom/vinum/geom_vinum_plex.c @@ -469,7 +469,6 @@ gv_plex_destroy_geom(struct gctl_req *req, struct g_class *mp, * and signal it to self destruct. */ gv_kill_thread(p); - mtx_destroy(&p->worklist_mtx); /* g_free(sc); */ g_wither_geom(gp, ENXIO); return (0); diff --git a/sys/geom/vinum/geom_vinum_subr.c b/sys/geom/vinum/geom_vinum_subr.c index 695d764..7f11c57 100644 --- a/sys/geom/vinum/geom_vinum_subr.c +++ b/sys/geom/vinum/geom_vinum_subr.c @@ -824,5 +824,6 @@ gv_kill_thread(struct gv_plex *p) while (!(p->flags & GV_PLEX_THREAD_DEAD)) tsleep(p, PRIBIO, "gv_die", hz); p->flags &= ~GV_PLEX_THREAD_ACTIVE; + mtx_destroy(&p->worklist_mtx); } } |