mirror of
https://github.com/opnsense/src.git
synced 2026-03-11 02:31:16 -04:00
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 |
||
|---|---|---|
| .. | ||
| ocs.h | ||
| ocs_cam.c | ||
| ocs_cam.h | ||
| ocs_common.h | ||
| ocs_ddump.c | ||
| ocs_ddump.h | ||
| ocs_device.c | ||
| ocs_device.h | ||
| ocs_domain.c | ||
| ocs_domain.h | ||
| ocs_drv_fc.h | ||
| ocs_els.c | ||
| ocs_els.h | ||
| ocs_fabric.c | ||
| ocs_fabric.h | ||
| ocs_fcp.h | ||
| ocs_hw.c | ||
| ocs_hw.h | ||
| ocs_hw_queues.c | ||
| ocs_hw_queues.h | ||
| ocs_io.c | ||
| ocs_io.h | ||
| ocs_ioctl.c | ||
| ocs_ioctl.h | ||
| ocs_list.h | ||
| ocs_mgmt.c | ||
| ocs_mgmt.h | ||
| ocs_node.c | ||
| ocs_node.h | ||
| ocs_os.c | ||
| ocs_os.h | ||
| ocs_pci.c | ||
| ocs_scsi.c | ||
| ocs_scsi.h | ||
| ocs_sm.c | ||
| ocs_sm.h | ||
| ocs_sport.c | ||
| ocs_sport.h | ||
| ocs_stats.h | ||
| ocs_unsol.c | ||
| ocs_unsol.h | ||
| ocs_utils.c | ||
| ocs_utils.h | ||
| ocs_vpd.h | ||
| ocs_xport.c | ||
| ocs_xport.h | ||
| sli4.c | ||
| sli4.h | ||
| version.h | ||