Commit | Line | Data |
---|---|---|
b4adb757 | 1 | .. SPDX-License-Identifier: GPL-2.0 |
dea3101e | 2 | |
b4adb757 MCC |
3 | ========================= |
4 | LPFC Driver Release Notes | |
5 | ========================= | |
dea3101e | 6 | |
dea3101e | 7 | |
b4adb757 | 8 | .. important:: |
dea3101e | 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 | ||
dea3101e | 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 | |
d9195881 | 37 | to reappear or link come back alive, with no inadvertent side effects |
dea3101e | 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 | |
b4adb757 | 65 | ============== |
dea3101e | 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 | |
b4adb757 | 79 | ======= |
dea3101e | 80 | |
81 | Thankfully, at this time, patches are not needed. |