Add SATA support to libsas/aic94xx
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest2 patches 7 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | Add SATA support to libsasdrivers/ drivers/ include/ | +380 | 5 replies | |
| 2/2 | Add SATA support to aic94xxdrivers/ | +3 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/2] Add SATA support to libsas/aic94xx
Hi,
I've been working on a preliminary patch to enable SATA disk support in the SAS transport layer. As it stands now, the patch hooks several scsi_host_template functions to delegate various port allocation and command processing functions to libata; this also requires the creation of a few more functions to ensure that all the scsi_host_template functions redirect to libata when necessary. There are also some helpers so that the hooks don't unduly lengthen the existing functions.
I'm midway through the implementation and am looking for feedback and
suggestions about how to tighten things up.
At the moment, I've been able to get an 80G Maxtor SATA disk to come up with the aic94xx driver in both PIO and UDMA modes. I can do things like streaming read/write operations, run LTP/pounder stress tests, and programs like scsi-info and smartctl, and they seem to run ok.
However, there are several sketchy aspects to this patch--I've written nothing in sas_expander.c to hook up to SATA disks attached to expanders (will ask Alexis about that one), and the code that tries to push ATA error codes at libata when SAS errors are seen is rather frightening. Alas, I don't know ATA error codes quite well enough to feel like I'm doing justice to the SAS errors.
These patches are based off 2.6.18-rc4 + jejb's scsi-misc, scsi-rc and aic94xx git trees + Brian King's libata SAS patches.
Questions/comments? Thanks in advance for feedback,
--Darrick