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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]