On Wed, Apr 22 2009, Jeff Garzik wrote: > Jeff Garzik wrote: >> Currently, libata creates a Scsi_Host per port. This was originally >> done to leverage SCSI's infrastructure to arbitrate among master/slave >> devices, but is not needed for most modern SATA controllers. And I >> _think_ it is not needed for master/slave if done properly, either. > > BTW note the above, with regards to the libata SCSI->block conversion. > libata currently relies on SCSI for some amount of generic device > arbitration, in several situations (see ->qc_defer, > SCSI_MLQUEUE_.*_BUSY). libata expects SCSI to be intelligent and not > starve devices, etc. Defer looks like internal policy, I don't see that functioning any different in the block layer. SCSI_MLQUEUE_*_BUSY in SCSI is primarily using the block layer functionality of BLKPREP_DEFER to begin with, so I think we're pretty close to providing all that already. -- Jens Axboe -- 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