History log of /freebsd-11-stable/sys/dev/ocs_fc/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
367469 08-Nov-2020 mav

MFC r367041: Fix incorrect constants of target tag action.

ocs_scsi_recv_cmd() receives the flags after ocs_get_flags_fcp_cmd(),
which translates them from FCP_TASK_ATTR_* to OCS_SCSI_CMD_*. As result
non-SIMPLE requests turned into HEAD or ORDERED depending on direction.

360415 27-Apr-2020 brooks

MFC r359978:

Fix -Wvoid-pointer-to-enum-cast warnings.

This pattern is used in callbacks with void * data arguments and seems
both relatively uncommon and relatively harmless. Silence the warning
by casting through uintptr_t.

This warning is on by default in Clang 11.

Reviewed by: arichardson
Obtained from: CheriBSD (partial)
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D24425

344054 12-Feb-2019 ram

MFC r342946: 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

344014 11-Feb-2019 ram

MFC r336446: Implemented Device Lost Timer,
which is used to give target device the time to recover before marking dead.

Issue: IO fails immediately after doing port-toggle.
Fix: Added LDT(Device Lost Timer)- we wait a specific period of time prior to telling the OS about lost device.

Approved by: ken, mav
Differential Revision: D16196

343371 24-Jan-2019 markj

MFC r343348:
ocs_fc: Ensure that we zero-initialize memory before copying it out.

admbugs: 765

335291 17-Jun-2018 dim

MFC r334945:

Fix build of ocs_fs with base gcc on i386

Add a few intermediate casts to uintptr_t to suppress "cast to pointer
from integer of different size" warnings from gcc. Also remove a few
incorrect casts.

Reviewed by: ram
Differential Revision: https://reviews.freebsd.org/D15747

334872 09-Jun-2018 ram

Issue:
Utility hangs when OCS_IOCTL_CMD_MGMT_GET_ALL called in parallel on port 0 and port 1.

Fix: Using static structure for results is corrupting the second ioctl request. Removed static for results structure.

Approved by: ken

333991 21-May-2018 ken

MFC r333492:
------------------------------------------------------------------------
r333492 | ken | 2018-05-11 08:50:26 -0600 (Fri, 11 May 2018) | 10 lines

Clear out the entire structure, not just the size of a pointer to it.

sys/dev/ocs/ocs_os.c:
In ocs_thread_create(), use sizeof(*thread) (instead of
sizeof(thread)) as the size argument to memset so that we clear
out the entire thread structure instead of just a few bytes of it.

Submitted by: jtl

------------------------------------------------------------------------

Approved by: re (marius, gjb)

332883 23-Apr-2018 ram

MFC r332471, r332646:
Check if STACK is defined before using the stack(9).
Moved opts-stack.h include before all other includes.

Approved by: mav

332040 04-Apr-2018 ken

MFC r331766, r331768:

------------------------------------------------------------------------
r331766 | ken | 2018-03-30 09:28:25 -0600 (Fri, 30 Mar 2018) | 25 lines

Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4).

The ocs_fc(4) driver supports the following hardware:

Emulex 16/8G FC GEN 5 HBAS
LPe15004 FC Host Bus Adapters
LPe160XX FC Host Bus Adapters

Emulex 32/16G FC GEN 6 HBAS
LPe3100X FC Host Bus Adapters
LPe3200X FC Host Bus Adapters

The driver supports target and initiator mode, and also supports FC-Tape.

Note that the driver only currently works on little endian platforms. It
is only included in the module build for amd64 and i386, and in GENERIC
on amd64 only.

Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com>
Reviewed by: mav
Relnotes: yes
Sponsored by: Broadcom
Differential Revision: https://reviews.freebsd.org/D11423

------------------------------------------------------------------------
r331768 | cem | 2018-03-30 10:44:54 -0600 (Fri, 30 Mar 2018) | 9 lines

ocs_fc(4): Fix GCC build (-Wredundant-decls)

These objects are defined earlier in the same file; an extern declaration
after definition is redundant.

Broken in r331766 (introduction of ocs_fc(4)).

Sponsored by: Dell EMC Isilon

------------------------------------------------------------------------

Differential Revision: https://reviews.freebsd.org/D11423
Relnotes: yes

331766 30-Mar-2018 ken

Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4).

The ocs_fc(4) driver supports the following hardware:

Emulex 16/8G FC GEN 5 HBAS
LPe15004 FC Host Bus Adapters
LPe160XX FC Host Bus Adapters

Emulex 32/16G FC GEN 6 HBAS
LPe3100X FC Host Bus Adapters
LPe3200X FC Host Bus Adapters

The driver supports target and initiator mode, and also supports FC-Tape.

Note that the driver only currently works on little endian platforms. It
is only included in the module build for amd64 and i386, and in GENERIC
on amd64 only.

Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com>
Reviewed by: mav
MFC after: 5 days
Relnotes: yes
Sponsored by: Broadcom
Differential Revision: https://reviews.freebsd.org/D11423