Hello, Brian. Brian King wrote: > Tejun Heo wrote: >> * ipr is now the only user of ata_host_init(). Either kill it by >> converting ipr to use ata_host_alloc() and friends or rename and >> move it to libata-scsi.c > > One of the problems with converting ipr to use ata_host_alloc and > friends is that it then forces ipr to tell libata how many "SATA ports" > are possible. On SAS, this number can't really be calculated, since > the maximum number of SATA devices which can possibly be cabled to a > SAS adapter, particularly with SAS expanders, is a very large number > and is not practical for how this is being used in the current > implementation. My guess is that aic94xx will have similar issues/concerns. I dunno much about SAS integration, so I intentionally left it alone, so this patchset shouldn't change behavior from SAS's point of view. Making host->ports dynamic isn't difficult at all. We can just separate out the ports[] array and make it rcu and supply a few access helpers so that we can adjust its size dynamically. Association to SCSI host is done via pointer now even for native ATA case, so this should be easier for SAS. What I'm worried about is how EH gets invoked. libata depends on EH to do a lot of things including probing, requesting sense data, etc. How should this work? SAS attached libata port shares EH with the SAS SCSI host, right? How can we connect SAS EH with libata EH and would it be okay for libata EH hold the SCSI EH (thus holding all command execution on the host) to handle ATA exceptions? 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