HomeFreeBSD

Remove accessing remote node and domain objects while processing cam actions.

Description

Remove accessing remote node and domain objects while processing cam actions.
Issue:

ocs_fc(4) driver panics. It's induced by setting the port_state

sysctl to offline, then online, then offline, then online, and so
forth and so on in rapid succession.

Reason:

While we set the port_state to online fc discovery will start and OS

is enumerating the target discs by calling ocs_action(), then set the
port state to "offline" which deletes domain/sport/nodes.

In ocs_action()->XPT_GET_TRAN_SETTINGS we are accessing the remote

node which can be invalid to get the wwpn, wwnn and port.

Fix:

Removed accessing of remote node and domain in some ocs_action() cases.
Populated the required values from ocs_fcport.
This removes the dependency of node and domain structures while

processing XPT_PATH_INQ and XPT_GET_TRAN_SETTINGS.

We will invalidate the target entries after the device lost

timeout(30 seconds).

Approved by: ken, mav
MFC after: 3 weeks

Details

Committed
ramJan 11 2019, 3:59 PM
Parents
rS342945: Add `bluetooth-config` script to simplify setting up bluetooth connections to
Branches
Unknown
Tags
Unknown