Hello, Jeff. On Fri, Jan 07, 2011 at 04:13:53PM -0500, Jeff Garzik wrote: > > 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. Hmm... but they don't use ata_scsi_error() and ->eng_timeout() at all, no? We can't remove phy_reset() and need to keep the silly "if (->error_handler)" tests around but should be able to remove those from ata_scsi_error() and other EH routines, at least. Am I missing something? Thanks. -- tejun -- 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