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
|