2005-04-18 04:05:31 +07:00
|
|
|
|
|
|
|
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
|
2008-07-26 09:45:33 +07:00
|
|
|
to reappear or link come back alive, with no inadvertent side effects
|
2005-04-18 04:05:31 +07:00
|
|
|
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.
|
|
|
|
|
|
|
|
|