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 重置(允许固件刷新后重新启动并使用新的固件,而无需重新启动)

  • 更改了 proc 输出

TODO

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

  • 添加稀疏 lun 扫描

  • 添加代码,当从 scsi-core 发出测试单元就绪或查询命令时,检查已脱机的设备是否现在已在线(在固件级别)

  • 添加 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 中使用的结构。它们的编写方式是可移植的。它们很难阅读,但是我需要“按原样”使用它们,否则我可能会错过接口中的更改。