diff options
author | pjd <pjd@FreeBSD.org> | 2004-07-31 22:10:51 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2004-07-31 22:10:51 +0000 |
commit | 578bfcb89773f8b1c1a85d1e59559a36b3181a72 (patch) | |
tree | 27b772029ef36ec381d5e831002ad155a461f725 /sys/geom | |
parent | e2ca49b0bcd13f1d69de203a5dcaf82c8ac5ff84 (diff) | |
download | FreeBSD-src-578bfcb89773f8b1c1a85d1e59559a36b3181a72.zip FreeBSD-src-578bfcb89773f8b1c1a85d1e59559a36b3181a72.tar.gz |
If there are no valid components after the timeout, just destroy device.
There is probably nothing to wait for.
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/mirror/g_mirror.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index 3546971..5a14ab9 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -1732,13 +1732,8 @@ g_mirror_update_device(struct g_mirror_softc *sc, boolean_t force) } } if (ndisks == 0) { - int timeout; - - /* No valid disks still, wait some more. */ - timeout = - atomic_load_acq_int(&g_mirror_timeout); - callout_reset(&sc->sc_callout, timeout * hz, - g_mirror_go, sc); + /* No valid disks found, destroy device. */ + sc->sc_flags |= G_MIRROR_DEVICE_FLAG_DESTROY; return; } } else { |