diff options
author | markj <markj@FreeBSD.org> | 2017-04-11 17:17:05 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2017-04-11 17:17:05 +0000 |
commit | f2930512695db8e99d09797cc8b855a120f8bdeb (patch) | |
tree | 73b8df5fbdeaf216f562ffd921a13ae7cbb1ffd8 /sys/geom | |
parent | a52d14b676976189e90308d9e2b88ae77fc036a0 (diff) | |
download | FreeBSD-src-f2930512695db8e99d09797cc8b855a120f8bdeb.zip FreeBSD-src-f2930512695db8e99d09797cc8b855a120f8bdeb.tar.gz |
MFC r316032:
Refine r301173 a bit.
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/mirror/g_mirror.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index 2c65243..8191db6 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -3011,7 +3011,7 @@ g_mirror_destroy(struct g_mirror_softc *sc, int how) g_topology_assert_not(); sx_assert(&sc->sc_lock, SX_XLOCKED); - if (sc->sc_provider_open != 0 || SCHEDULER_STOPPED()) { + if (sc->sc_provider_open != 0) { switch (how) { case G_MIRROR_DESTROY_SOFT: G_MIRROR_DEBUG(1, @@ -3330,6 +3330,9 @@ g_mirror_shutdown_post_sync(void *arg, int howto) struct g_mirror_softc *sc; int error; + if (panicstr != NULL) + return; + mp = arg; g_topology_lock(); g_mirror_shutdown = 1; |