Fajun Chen wrote:
Hi, I tested two SATA drives on the same controller (Sil3124) and found that if their hotplug/unplug sequences overlaps, scsi layer will block the use of any of the drives during error recovery phase. So even if one drive is recovered way early, it won't process any commands until the error recovery on another drive is completed. Could someone explain why the block is on controller/host basis instead of on port basis? Is this because the controller could be reset during any error recovery?
I don't think that's true. Each ATA port is represented as separate host to SCSI midlayer, so SCSI doesn't have any way to enforce such cross-port synchronization. In fact, libata needs to implement such facility to properly implement transfer mode reconfiguration on several controllers. What exactly are you seeing?
-- 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