Adaptec dpti 驱动

允许以源代码形式重新分发和使用,无论是否经过修改,前提是源代码的重新分发必须保留上述版权声明、此条件列表和以下免责声明。

Adaptec 按 原样 提供此软件,并且不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。在任何情况下,Adaptec 均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润的损失;或业务中断)负责,无论其原因如何,以及基于任何责任理论,无论是在合同、严格责任还是侵权行为(包括疏忽或其他)中,以任何方式因使用此驱动程序软件而引起,即使事先被告知可能发生此类损害。

此驱动程序支持 Adaptec I2O RAID 和 DPT SmartRAID V I2O 板。

鸣谢

最初的 linux 驱动程序由 Karen White 在 Dell Computer 工作期间移植到 Linux。 它是从 Bob Pasteur(DPT)的原始非 Linux 驱动程序移植过来的。 Mark Salyzyn 和 Bob Pasteur 咨询了原始驱动程序。

2.0 版本的驱动程序由 Deanna Bonds 和 Mark Salyzyn 完成。

历史

该驱动程序最初移植到 linux 版本 2.0.34

V2.0

驱动程序重写。 基于 i2o 子系统重新架构。 这是第一个完整的 GPL 版本,因为最后一个版本使用了非 GPL 的 i2osig 标头。 开发人员测试版本。

V2.1

内部测试

V2.2

第一个发布版本

V2.3

更改

  • 添加了 Raptor 支持

  • 修复了在运行管理实用程序的情况下,系统在极端负载下挂起的问题(从 kmalloc 标志中删除了 GFP_DMA)

  • 管理工具正在运行(从 kmalloc 标志中移除了 GFP_DMA)

V2.4

准备好提交到内核中的第一个版本

更改

  • 实施了 Alan Cox 的建议

  • 添加了 sg 层的 resid 计算

  • 更好的错误处理

  • 添加了检查下溢条件

  • 添加了 DATAPROTECT 检查

  • 更改了错误返回代码

  • 修复了总线重置例程中的指针错误

  • 从 ioctl 启用了 hba 重置(允许 FW 闪存重新启动并使用新的 FW,而无需重新启动)

  • 更改了 proc 输出

TODO

  • 在 64 位架构上编译时添加 64 位 Scatter Gather

  • 添加稀疏 lun 扫描

  • 添加代码以检查已离线的设备是否现在已在线(在 FW 级别),当 scsi-core 发出 test unit ready 或 inquiry 命令时

  • 添加 proc 读取接口

  • busrescan 命令

  • rescan 命令

  • 将代码添加到 rescan 例程,通知 scsi-core 关于新设备

  • 添加对 C-PCI 的支持(热插拔的东西)

  • 添加 ioctl passthru 错误恢复

注意

DPT 卡优化了处理命令的顺序。 因此,在将命令发送到板卡后,可能需要长达 6 分钟才能完成。

文件 dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h 是 Adaptec 管理例程的接口文件的一部分。 这些定义了 ioctl 中使用的结构。 它们被编写为可移植的。 它们很难阅读,但我需要“按原样”使用它们,否则我会错过接口中的更改。