| |
| LPFC Driver Release Notes: |
| |
| ============================================================================= |
| |
| |
| IMPORTANT: |
| |
| Starting in the 8.0.17 release, the driver began to be targeted strictly |
| toward the upstream kernel. As such, we removed #ifdefs for older kernels |
| (pre 2.6.10). The 8.0.16 release should be used if the driver is to be |
| run on one of the older kernels. |
| |
| The proposed modifications to the transport layer for FC remote ports |
| and extended attribute support is now part of the upstream kernel |
| as of 2.6.12. We no longer need to provide patches for this support, |
| nor a *full* version which has old an new kernel support. |
| |
| The driver now requires a 2.6.12 (if pre-release, 2.6.12-rc1) or later |
| kernel. |
| |
| Please heed these dependencies.... |
| |
| |
| ******************************************************************** |
| |
| |
| The following information is provided for additional background on the |
| history of the driver as we push for upstream acceptance. |
| |
| Cable pull and temporary device Loss: |
| |
| In older revisions of the lpfc driver, the driver internally queued i/o |
| received from the midlayer. In the cases where a cable was pulled, link |
| jitter, or a device temporarily loses connectivity (due to its cable |
| being removed, a switch rebooting, or a device reboot), the driver could |
| hide the disappearance of the device from the midlayer. I/O's issued to |
| the LLDD would simply be queued for a short duration, allowing the device |
| to reappear or link come back alive, with no inadvertant side effects |
| to the system. If the driver did not hide these conditions, i/o would be |
| errored by the driver, the mid-layer would exhaust its retries, and the |
| device would be taken offline. Manual intervention would be required to |
| re-enable the device. |
| |
| The community supporting kernel.org has driven an effort to remove |
| internal queuing from all LLDDs. The philosophy is that internal |
| queuing is unnecessary as the block layer already performs the |
| queuing. Removing the queues from the LLDD makes a more predictable |
| and more simple LLDD. |
| |
| As a potential new addition to kernel.org, the 8.x driver was asked to |
| have all internal queuing removed. Emulex complied with this request. |
| In explaining the impacts of this change, Emulex has worked with the |
| community in modifying the behavior of the SCSI midlayer so that SCSI |
| devices can be temporarily suspended while transport events (such as |
| those described) can occur. |
| |
| The proposed patch was posted to the linux-scsi mailing list. The patch |
| is contained in the 2.6.10-rc2 (and later) patch kits. As such, this |
| patch is part of the standard 2.6.10 kernel. |
| |
| By default, the driver expects the patches for block/unblock interfaces |
| to be present in the kernel. No #define needs to be set to enable support. |
| |
| |
| Kernel Support |
| |
| This source package is targeted for the upstream kernel only. (See notes |
| at the top of this file). It relies on interfaces that are slowing |
| migrating into the kernel.org kernel. |
| |
| At this time, the driver requires the 2.6.12 (if pre-release, 2.6.12-rc1) |
| kernel. |
| |
| If a driver is needed for older kernels please utilize the 8.0.16 |
| driver sources. |
| |
| |
| Patches |
| |
| Thankfully, at this time, patches are not needed. |
| |
| |