요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
===================
Adaptec dpti driver
===================
Redistribution and use in source form, with or without modification, are
permitted provided that redistributions of source code must retain the
above copyright notice, this list of conditions and the following disclaimer.
This software is provided ``as is`` by Adaptec and
any express or implied warranties, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose,
are disclaimed. In no event shall Adaptec be
liable for any direct, indirect, incidental, special, exemplary or
consequential damages (including, but not limited to, procurement of
substitute goods or services; loss of use, data, or profits; or business
interruptions) however caused and on any theory of liability, whether in
contract, strict liability, or tort (including negligence or otherwise)
arising in any way out of the use of this driver software, even if advised
of the possibility of such damage.
This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
Credits
=======
The original linux driver was ported to Linux by Karen White while at
Dell Computer. It was ported from Bob Pasteur's (of DPT) original
non-Linux driver. Mark Salyzyn and Bob Pasteur consulted on the original
driver.
2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
History
=======
The driver was originally ported to linux version 2.0.34
==== ==========================================================================
V2.0 Rewrite of driver. Re-architectured based on i2o subsystem.
This was the first full GPL version since the last version used
i2osig headers which were not GPL. Developer Testing version.
V2.1 Internal testing
V2.2 First released version
V2.3 Changes:
- Added Raptor Support
- Fixed bug causing system to hang under extreme load with
- management utilities running (removed GFP_DMA from kmalloc flags)
V2.4 First version ready to be submitted to be embedded in the kernel
Changes:
- Implemented suggestions from Alan Cox
- Added calculation of resid for sg layer
- Better error handling
- Added checking underflow conditions
- Added DATAPROTECT checking
- Changed error return codes
- Fixed pointer bug in bus reset routine
- Enabled hba reset from ioctls (allows a FW flash to reboot and use
the new FW without having to reboot)
- Changed proc output
==== ==========================================================================
TODO
====
- Add 64 bit Scatter Gather when compiled on 64 bit architectures
- Add sparse lun scanning
- Add code that checks if a device that had been taken offline is
now online (at the FW level) when test unit ready or inquiry
command from scsi-core
- Add proc read interface
- busrescan command
- rescan command
- Add code to rescan routine that notifies scsi-core about new devices
- Add support for C-PCI (hotplug stuff)
- Add ioctl passthru error recovery
Notes
=====
The DPT card optimizes the order of processing commands. Consequently,
a command may take up to 6 minutes to complete after it has been sent
to the board.
The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
interface files for Adaptec's management routines. These define the structures used
in the ioctls. They are written to be portable. They are hard to read, but I need
to use them 'as is' or I can miss changes in the interface.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
재배포 조건과 지원 board
1-25Source form은 수정 여부와 관계없이 재배포할 수 있지만 copyright notice, 조건 목록과 disclaimer를 유지해야 한다.
Software는 Adaptec이 `as is`로 제공하며 merchantability·특정 목적 적합성 보증을 부인한다. 대체품·service, 사용·data·profit 손실, business interruption을 포함한 직접·간접·부수·특별·징벌·결과 손해에 대해 contract, strict liability, tort 어느 이론에서도 책임지지 않는다.
Driver는 Adaptec I2O RAID와 DPT SmartRAID V I2O board를 지원한다.
License 조건과 hardware 대상입니다.
.. SPDX-License-Identifier: GPL-2.0
===================
Adaptec dpti driver
===================
Redistribution and use in source form, with or without modification, are
permitted provided that redistributions of source code must retain the
above copyright notice, this list of conditions and the following disclaimer.
This software is provided ``as is`` by Adaptec and
any express or implied warranties, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose,
are disclaimed. In no event shall Adaptec be
liable for any direct, indirect, incidental, special, exemplary or
consequential damages (including, but not limited to, procurement of
substitute goods or services; loss of use, data, or profits; or business
interruptions) however caused and on any theory of liability, whether in
contract, strict liability, or tort (including negligence or otherwise)
arising in any way out of the use of this driver software, even if advised
of the possibility of such damage.
This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
Credits
Linux port와 2.0 rewrite
26-38Karen White가 Dell Computer 재직 중 Bob Pasteur의 DPT non-Linux driver를 Linux로 port했다. Mark Salyzyn과 Bob Pasteur가 original driver에 자문했고, Deanna Bonds와 Mark Salyzyn이 2.0 version을 작성했다.
Original code에서 Linux 2.0 rewrite까지입니다.
=======
The original linux driver was ported to Linux by Karen White while at
Dell Computer. It was ported from Bob Pasteur's (of DPT) original
non-Linux driver. Mark Salyzyn and Bob Pasteur consulted on the original
driver.
2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
History
=======
The driver was originally ported to linux version 2.0.34
V2.0~V2.4 변경 이력
39-67Original port 대상은 Linux 2.0.34다. V2.0은 I2O subsystem 기반으로 재설계했으며 non-GPL `i2osig` header를 제거해 최초의 완전한 GPL version이 됐다. V2.1은 internal test, V2.2는 첫 release다.
V2.3은 Raptor 지원을 추가하고 management utility와 extreme load가 겹칠 때 hang을 일으키던 `kmalloc`의 `GFP_DMA` flag를 제거했다.
V2.4는 kernel 제출 준비 version이다. Alan Cox 제안, sg residual 계산, error·underflow·DATAPROTECT 검사, return code 변경, bus reset pointer bug 수정, ioctl HBA reset을 통한 firmware flash 후 재기동, proc output 변경을 포함한다.
Version별 핵심 변경입니다.
==== ==========================================================================
V2.0 Rewrite of driver. Re-architectured based on i2o subsystem.
This was the first full GPL version since the last version used
i2osig headers which were not GPL. Developer Testing version.
V2.1 Internal testing
V2.2 First released version
V2.3 Changes:
- Added Raptor Support
- Fixed bug causing system to hang under extreme load with
- management utilities running (removed GFP_DMA from kmalloc flags)
V2.4 First version ready to be submitted to be embedded in the kernel
Changes:
- Implemented suggestions from Alan Cox
- Added calculation of resid for sg layer
- Better error handling
- Added checking underflow conditions
- Added DATAPROTECT checking
- Changed error return codes
- Fixed pointer bug in bus reset routine
- Enabled hba reset from ioctls (allows a FW flash to reboot and use
the new FW without having to reboot)
- Changed proc output
==== ==========================================================================
미구현 항목과 command 지연
68-92TODO는 64-bit scatter-gather, sparse LUN scan, offline device 재확인, proc read, busrescan·rescan command, 새 device를 scsi-core에 알리는 rescan, CompactPCI hotplug, ioctl passthrough error recovery다.
DPT card가 command 처리 순서를 최적화하므로 board로 보낸 command가 완료되기까지 최대 6분 걸릴 수 있다.
`dpti_ioctl.h`, `dptsig.h`, `osd_defs.h`, `osd_util.h`, `sys_info.h`는 Adaptec management ioctl 구조를 정의하는 portable interface file이다. 읽기 어려워도 interface 변경을 놓치지 않도록 as-is로 사용해야 한다.
미완성 기능을 영역별로 묶습니다.
TODO
====
- Add 64 bit Scatter Gather when compiled on 64 bit architectures
- Add sparse lun scanning
- Add code that checks if a device that had been taken offline is
now online (at the FW level) when test unit ready or inquiry
command from scsi-core
- Add proc read interface
- busrescan command
- rescan command
- Add code to rescan routine that notifies scsi-core about new devices
- Add support for C-PCI (hotplug stuff)
- Add ioctl passthru error recovery
Notes
=====
The DPT card optimizes the order of processing commands. Consequently,
a command may take up to 6 minutes to complete after it has been sent
to the board.
The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
interface files for Adaptec's management routines. These define the structures used
in the ioctls. They are written to be portable. They are hard to read, but I need
to use them 'as is' or I can miss changes in the interface.
요약·해설
dpti.rst:1-92Adaptec I2O RAID driver의 이력, TODO, ioctl interface와 제한을 설명합니다.