summaryrefslogtreecommitdiffstats
path: root/sys/dev/ciss
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2004-06-21 22:57:10 +0000
committerps <ps@FreeBSD.org>2004-06-21 22:57:10 +0000
commita5b5031c524a9ecf5ee118337e7392768ee986c3 (patch)
tree730986a154157967ed7a3bde45dfe7fa5ddee778 /sys/dev/ciss
parenta444d606d5af7d0dd9ff970754ad95595a3b64f3 (diff)
downloadFreeBSD-src-a5b5031c524a9ecf5ee118337e7392768ee986c3.zip
FreeBSD-src-a5b5031c524a9ecf5ee118337e7392768ee986c3.tar.gz
on media exchange, update/rescan the drives. This allows a volume
in a failed stated to come back on-line without a reboot.
Diffstat (limited to 'sys/dev/ciss')
-rw-r--r--sys/dev/ciss/ciss.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c
index ae2f61d..3b33ab9 100644
--- a/sys/dev/ciss/ciss.c
+++ b/sys/dev/ciss/ciss.c
@@ -3477,6 +3477,10 @@ ciss_notify_logical(struct ciss_softc *sc, struct ciss_notify *cn)
ciss_printf(sc, "logical drive %d (%s) media exchanged, ready to go online\n",
cn->data.logical_status.logical_drive, ld->cl_name);
ciss_accept_media(sc, ld);
+
+ ld->cl_update = 1;
+ ld->cl_status = ciss_decode_ldrive_status(cn->data.logical_status.new_state);
+ ciss_notify_rescan_logical(sc);
break;
case 2:
OpenPOWER on IntegriCloud