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