Jeff Garzik wrote: > Brian King did a new-EH conversion for ipr, some time ago. Maybe that > work could be picked up, extended to libsas, and permit removal of all > the old-EH code remaining in libata. There are a couple different ways to accomplish this, and they relate to how many scsi hosts we end up using for a single SAS HBA. Single scsi_host solution This solution really requires libata to more or less stop using scsi core. At the very least the concept of it "owning" the scsi host must go away. Additionally, as far as EH goes, quiescing the entire scsi host each time we want to do some exception handling for a SATA device kills the performance of the SAS devices on the HBA, so we would need to have a better layered EH that only quiesced what needs to be quiesced and then called out to different pluggable EH handling routines. Multiple scsi_host solution This is what my patch to ipr did. It was the path of least resistance at the time and worked reasonably well for ipr, but may not have been the best solution for libsas without further enhancements. In this solution, there is a scsi_host for each ATA port found on the SAS fabric. This allows most of the existing libata code to simply work with minimal changes. The biggest issue with this approach is we lose adapter queue depth tracking. We really would need queue groups or some similar solution in order for this to work for libsas. -Brian -- Brian King Linux on Power Virtualization IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html