Re: [PATCH v3 3/3] Add ata pass-through path for ZAC commands.
From: Hannes Reinecke <hare@suse.de>
Date: 2016-06-10 07:19:33
Also in:
linux-ide, linux-scsi
On 06/10/2016 09:10 AM, Shaun Tancheff wrote:
The current generation of HBA SAS adapters support connecting SATA drives and perform SCSI<->ATA translations in hardware. Unfortunately the ZBC commands are not being translate (yet). Currently users of SAS controllers can only send ZAC commands via ata pass-through. This method overloads the meaning of REQ_META to direct ZBC commands to construct ZAC equivalent ATA pass through commands. Note also that this approach expects the initiator to deal with the little endian result due to bypassing the normal translation layers. Signed-off-by: Shaun Tancheff <redacted> --- So this patch isn't the right way to work around hardware that is missing features (mixing ATA commands in SCSI interface code) it maybe useful for end users in the near term who have HBA SAS controllers that don't support ZBC <-> ZAC translations.
And indeed, this patch isn't right. It is just for a very specific SAS HBA (mpt2sas/mpt3sas). Other SAS HBAs like isci and hisi_sas work just nicely here. So a translation into a ATA_16 command is _wrong_. If you need to do this you'll have to move it into the LLDD itself. Or use blacklisting to invoke this behaviour. But _not_ in the general code path. Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@suse.de +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N�rnberg GF: F. Imend�rffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG N�rnberg)