LPFC 驱动程序发布说明¶
重要
从 8.0.17 版本开始,该驱动程序严格针对上游内核。因此,我们移除了针对旧内核(2.6.10 之前)的 #ifdefs。如果驱动程序要在旧内核上运行,则应使用 8.0.16 版本。
针对 FC 远程端口和扩展属性支持的传输层拟议修改,自 2.6.12 版本起已成为上游内核的一部分。我们不再需要为这项支持提供补丁,也不再需要提供支持新旧内核的 *完整* 版本。
该驱动程序现在需要 2.6.12(如果是预发布版本,则为 2.6.12-rc1)或更高版本的内核。
请注意这些依赖关系....
以下信息提供了有关该驱动程序历史的更多背景,因为我们正在争取上游接受。
线缆拔出和设备临时丢失
在 lpfc 驱动程序的早期版本中,驱动程序内部会排队处理从中层接收到的 I/O。在线缆拔出、链路抖动或设备暂时失去连接(由于其线缆被移除、交换机重启或设备重启)的情况下,驱动程序可以向中层隐藏设备的消失。向 LLDD 发出的 I/O 会简单地排队一小段时间,从而允许设备重新出现或链路恢复,而不会对系统造成意外的副作用。如果驱动程序没有隐藏这些情况,I/O 将会被驱动程序报错,中层将耗尽其重试次数,并且设备将脱机。需要手动干预才能重新启用设备。
支持 kernel.org 的社区推动了一项工作,以从所有 LLDD 中移除内部排队。其理念是,由于块层已经执行排队,因此内部排队是不必要的。从 LLDD 中移除队列使 LLDD 更具可预测性且更简单。
作为 kernel.org 的潜在新成员,8.x 驱动程序被要求移除所有内部排队。Emulex 遵循了这一要求。在解释这一变化的影响时,Emulex 与社区合作修改了 SCSI 中层的行为,以便在传输事件(如所述)发生时,SCSI 设备可以暂时挂起。
提议的补丁已发布到 linux-scsi 邮件列表。该补丁包含在 2.6.10-rc2(及更高版本)的补丁包中。因此,该补丁是标准 2.6.10 内核的一部分。
默认情况下,驱动程序期望内核中存在用于块/解块接口的补丁。无需设置任何 #define 来启用支持。
内核支持¶
此源代码包仅针对上游内核。(请参阅文件顶部的说明)。它依赖于正在缓慢迁移到 kernel.org 内核中的接口。
目前,该驱动程序需要 2.6.12(如果是预发布版本,则为 2.6.12-rc1)内核。
如果需要用于旧内核的驱动程序,请使用 8.0.16 驱动程序源代码。
补丁¶
幸运的是,目前不需要补丁。