mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Notify CAM on state* change to a logical volume not status. This resolves
the issues reported regarding camcontrol devlist not showing the rebuild states of volumes unless an explicit camcontrol rescan was executed. PR: kern/171650 Reviewed by: scottl@freebsd.org Obtained from: Yahoo! Inc. MFC after: 2 weeks
This commit is contained in:
parent
b9ce4f67ae
commit
9d29c47198
1 changed files with 5 additions and 3 deletions
|
|
@ -3959,7 +3959,8 @@ static void
|
|||
ciss_notify_logical(struct ciss_softc *sc, struct ciss_notify *cn)
|
||||
{
|
||||
struct ciss_ldrive *ld;
|
||||
int ostatus, bus, target;
|
||||
int bus, target;
|
||||
int rescan_ld;
|
||||
|
||||
debug_called(2);
|
||||
|
||||
|
|
@ -3982,7 +3983,6 @@ ciss_notify_logical(struct ciss_softc *sc, struct ciss_notify *cn)
|
|||
/*
|
||||
* Update our idea of the drive's status.
|
||||
*/
|
||||
ostatus = ciss_decode_ldrive_status(cn->data.logical_status.previous_state);
|
||||
ld->cl_status = ciss_decode_ldrive_status(cn->data.logical_status.new_state);
|
||||
if (ld->cl_lstatus != NULL)
|
||||
ld->cl_lstatus->status = cn->data.logical_status.new_state;
|
||||
|
|
@ -3990,7 +3990,9 @@ ciss_notify_logical(struct ciss_softc *sc, struct ciss_notify *cn)
|
|||
/*
|
||||
* Have CAM rescan the drive if its status has changed.
|
||||
*/
|
||||
if (ostatus != ld->cl_status) {
|
||||
rescan_ld = (cn->data.logical_status.previous_state !=
|
||||
cn->data.logical_status.new_state) ? 1 : 0;
|
||||
if (rescan_ld) {
|
||||
ld->cl_update = 1;
|
||||
ciss_notify_rescan_logical(sc);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue