On Fri, Jan 7, 2011 at 4:01 PM, Tejun Heo <tj@xxxxxxxxxx> wrote: > On Thu, Jan 06, 2011 at 07:26:35PM +0100, Peter Zijlstra wrote: >> Jeff, Tejun, could you look at the ata-eh thing, then I'll put sorting >> through the futex thing on my todo list. > > Hmm... I think the ->eng_timeout path is already dead. ÂWe no longer > have any in-kernel implementation, so killing spin_unlock_wait() > should be fine. ÂI'll follow up with removal of the unused callback. Unfortunately... libsas continues to avoid the new EH :( It's a hairy mess to untangle, too. libata does proper error handling of ATA device errors, notably NCQ error handling, which libsas sorely misses. But libata new EH assumes a bit too much about "owning" the entirety of the EH process. These assumptions are proper for wholly ATA drivers (drivers/ata/*) where new EH can drive the EH process, but in the SAS situation, a phy in SATA mode is simply a subset of a larger set of EH conditions that must be handled. Thus libsas uses the ancient libata hook ->phy_reset and lacks ->error_handler. I think libata's old-EH path is entirely SAS-specific at this point. Jeff P.S. Note that libsas and ipr are peers; thus ipr driver also uses old EH. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html