Skip to content

libata: Add support for SATA attachment to SAS adapters

Brian King linux-ide linux-scsi 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/15libata: Setup nbytes in ata_sg_init_onedrivers/scsi/libata-core.c+1 -02 replies
2/15libata: Add some dummy noop functionsdrivers/scsi/libata-core.c include/linux/libata.h+4 -01 reply
3/15libata: ata_scsi_slave_config cleanupdrivers/scsi/libata-scsi.c+37 -250 replies
4/15libata: ata_scsi_queuecmd cleanupdrivers/scsi/libata-scsi.c+16 -103 replies
5/15libata: Add __ata_scsi_ioctldrivers/scsi/libata-scsi.c include/linux/libata.h+24 -133 replies
6/15libata: Stop using host->max_cmd_lendrivers/scsi/libata-core.c drivers/scsi/libata-scsi.c+8 -82 replies
7/15libata: Remove dependence on host_set->dev for SASdrivers/scsi/libata-core.c include/linux/libata.h+8 -61 reply
8/15libata: Add host lock to struct ata_portdrivers/scsi/libata-core.c drivers/scsi/libata-scsi.c include/linux/libata.h+28 -270 replies
9/15libata: Add support for SATA attachment to SAS adaptersdrivers/scsi/libata-core.c drivers/scsi/libata-scsi.c drivers/scsi/libata.h +1 more+165 -20 replies
10/15ipr: Disk remove path cleanupdrivers/scsi/ipr.c drivers/scsi/ipr.h+4 -30 replies
11/15ipr: Fixup device type checkdrivers/scsi/ipr.c drivers/scsi/ipr.h+18 -20 replies
12/15ipr: Simplify status area dumpingdrivers/scsi/ipr.c+4 -350 replies
13/15ipr: printk macro cleanup/removaldrivers/scsi/ipr.c drivers/scsi/ipr.h+14 -260 replies
14/15ipr: Reset device cleanupdrivers/scsi/ipr.c+41 -170 replies
15/15ipr: Support attaching SATA devicesdrivers/scsi/Kconfig drivers/scsi/Makefile drivers/scsi/ipr.c +1 more+642 -210 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/15] libata: Add support for SATA attachment to SAS adapters

This is a repost of the patchset I have been carrying. No real feature changes here, mainly just a refresh against Jeff's #upstream libata git tree. I've been running with these patches for a while now without problems.

The following patchset enhances libata to allow SAS device drivers to utilize libata to talk to SATA devices. It introduces some new APIs which allow libata to be used without allocating a virtual scsi host.

New APIs:

ata_sas_port_alloc - Allocate an ata_port
ata_sas_port_init - Initialize an ata_port (probe device, etc) ata_sas_port_destroy - Free an ata_port allocated by ata_sas_port_alloc ata_sas_slave_configure - configure scsi device ata_sas_queuecmd - queue a scsi command, similar to ata_scsi_queuecomand

These new APIs can be used either directly by a SAS LLDD or could be used by the SAS transport class.

Possible usage for a SAS LLDD would be:

scsi_scan_host
target_alloc
ata_sas_port_alloc
slave_alloc
ata_sas_port_init
slave_configure
ata_sas_slave_configure

Commands received by the LLDD for SATA devices would call ata_sas_queuecmd.

Device teardown would occur with:

slave_destroy
port_disable
target_destroy
ata_sas_port_destroy

Signature · 3 lines
Brian King
eServer Storage I/O
IBM Linux Technology Center