Mauro Carvalho Chehab | b4adb75 | 2020-03-02 09:15:54 +0100 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 2 | |
Mauro Carvalho Chehab | b4adb75 | 2020-03-02 09:15:54 +0100 | [diff] [blame] | 3 | ========================= |
| 4 | LPFC Driver Release Notes |
| 5 | ========================= |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 6 | |
| 7 | |
Mauro Carvalho Chehab | b4adb75 | 2020-03-02 09:15:54 +0100 | [diff] [blame] | 8 | .. important:: |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 9 | |
| 10 | Starting in the 8.0.17 release, the driver began to be targeted strictly |
| 11 | toward the upstream kernel. As such, we removed #ifdefs for older kernels |
| 12 | (pre 2.6.10). The 8.0.16 release should be used if the driver is to be |
| 13 | run on one of the older kernels. |
| 14 | |
| 15 | The proposed modifications to the transport layer for FC remote ports |
| 16 | and extended attribute support is now part of the upstream kernel |
| 17 | as of 2.6.12. We no longer need to provide patches for this support, |
| 18 | nor a *full* version which has old an new kernel support. |
| 19 | |
| 20 | The driver now requires a 2.6.12 (if pre-release, 2.6.12-rc1) or later |
| 21 | kernel. |
| 22 | |
| 23 | Please heed these dependencies.... |
| 24 | |
| 25 | |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 26 | The following information is provided for additional background on the |
| 27 | history of the driver as we push for upstream acceptance. |
| 28 | |
| 29 | Cable pull and temporary device Loss: |
| 30 | |
| 31 | In older revisions of the lpfc driver, the driver internally queued i/o |
| 32 | received from the midlayer. In the cases where a cable was pulled, link |
| 33 | jitter, or a device temporarily loses connectivity (due to its cable |
| 34 | being removed, a switch rebooting, or a device reboot), the driver could |
| 35 | hide the disappearance of the device from the midlayer. I/O's issued to |
| 36 | the LLDD would simply be queued for a short duration, allowing the device |
Matt LaPlante | d919588 | 2008-07-25 19:45:33 -0700 | [diff] [blame] | 37 | to reappear or link come back alive, with no inadvertent side effects |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 38 | to the system. If the driver did not hide these conditions, i/o would be |
| 39 | errored by the driver, the mid-layer would exhaust its retries, and the |
| 40 | device would be taken offline. Manual intervention would be required to |
| 41 | re-enable the device. |
| 42 | |
| 43 | The community supporting kernel.org has driven an effort to remove |
| 44 | internal queuing from all LLDDs. The philosophy is that internal |
| 45 | queuing is unnecessary as the block layer already performs the |
| 46 | queuing. Removing the queues from the LLDD makes a more predictable |
| 47 | and more simple LLDD. |
| 48 | |
| 49 | As a potential new addition to kernel.org, the 8.x driver was asked to |
| 50 | have all internal queuing removed. Emulex complied with this request. |
| 51 | In explaining the impacts of this change, Emulex has worked with the |
| 52 | community in modifying the behavior of the SCSI midlayer so that SCSI |
| 53 | devices can be temporarily suspended while transport events (such as |
| 54 | those described) can occur. |
| 55 | |
| 56 | The proposed patch was posted to the linux-scsi mailing list. The patch |
| 57 | is contained in the 2.6.10-rc2 (and later) patch kits. As such, this |
| 58 | patch is part of the standard 2.6.10 kernel. |
| 59 | |
| 60 | By default, the driver expects the patches for block/unblock interfaces |
| 61 | to be present in the kernel. No #define needs to be set to enable support. |
| 62 | |
| 63 | |
| 64 | Kernel Support |
Mauro Carvalho Chehab | b4adb75 | 2020-03-02 09:15:54 +0100 | [diff] [blame] | 65 | ============== |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 66 | |
| 67 | This source package is targeted for the upstream kernel only. (See notes |
| 68 | at the top of this file). It relies on interfaces that are slowing |
| 69 | migrating into the kernel.org kernel. |
| 70 | |
| 71 | At this time, the driver requires the 2.6.12 (if pre-release, 2.6.12-rc1) |
| 72 | kernel. |
| 73 | |
| 74 | If a driver is needed for older kernels please utilize the 8.0.16 |
| 75 | driver sources. |
| 76 | |
| 77 | |
| 78 | Patches |
Mauro Carvalho Chehab | b4adb75 | 2020-03-02 09:15:54 +0100 | [diff] [blame] | 79 | ======= |
| dea3101 | 2005-04-17 16:05:31 -0500 | [diff] [blame] | 80 | |
| 81 | Thankfully, at this time, patches are not needed. |