linux/include/scsi
Darrick J. Wong 6f63caae21 [SCSI] libsas: Clean up discovery failure handler code
sas_rphy_delete does two things: it removes the sas_rphy from the transport
layer and frees the sas_rphy.  This can be broken down into two functions,
sas_rphy_remove and sas_rphy_free; sas_rphy_remove is of interest to
sas_discover_root_expander because it calls functions that require
sas_rphy_add as a prerequisite and can fail (namely sas_discover_expander).
In that case, sas_discover_root_expander needs to be able to undo the effects
of sas_rphy_add yet leave the job of freeing the sas_rphy to the caller of
sas_discover_root_expander.

This patch also removes some unnecessary code from sas_discover_end_dev
to eliminate an unnecessary cycle of sas_notify_lldd_gone/found for SAS
devices, thus eliminating a sas_rphy_remove call (and fixing a race condition
where a SCSI target scan can come in between the gone and found call).
It also moves the sas_rphy_free calls into sas_discover_domain and
sas_ex_discover_end_dev to complement the sas_rphy_allocation via
sas_get_port_device.

This patch does not change the semantics of sas_rphy_delete.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-01-27 10:05:15 -06:00
..
iscsi_if.h [SCSI] iscsi: add async notification of session events 2006-06-29 11:14:42 -04:00
iscsi_proto.h [SCSI] iscsi: update version 2006-05-20 09:36:38 -05:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
libiscsi.h [PATCH] severing module.h->sched.h 2006-12-04 02:00:22 -05:00
libsas.h [SCSI] libsas: Add SAS_HA state flags to avoid queueing events while unloading 2007-01-13 16:21:53 -06:00
libsrp.h [SCSI] scsi tgt: SCSI RDMA Protocol library functions 2006-12-03 09:27:33 -06:00
sas.h [SCSI] aci94xx: implement link rate setting 2006-09-07 15:20:23 -05:00
scsi_cmnd.h [SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs 2006-11-25 13:08:56 -06:00
scsi_dbg.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsi_device.h [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi_devinfo.h Merge ../scsi-rc-fixes-2.6 2006-04-14 15:47:45 -05:00
scsi_driver.h [BLOCK] update SCSI to use new blk_ordered for barriers 2006-01-06 09:52:55 +01:00
scsi_eh.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsi_host.h [SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs 2006-11-25 13:08:56 -06:00
scsi_ioctl.h [SCSI] unify SCSI_IOCTL_SEND_COMMAND implementations 2006-04-13 10:13:15 -05:00
scsi_netlink_fc.h [SCSI] SCSI & FC transport: extend event vendor id's to 64bits 2006-09-02 15:35:15 -05:00
scsi_netlink.h [SCSI] SCSI & FC transport: extend event vendor id's to 64bits 2006-09-02 15:35:15 -05:00
scsi_tcq.h [PATCH] helper function for retrieving scsi_cmd given host based block layer tag 2006-10-04 19:32:09 +02:00
scsi_tgt_if.h [SCSI] scsi tgt: scsi target user and kernel communication interface 2006-11-25 13:17:38 -06:00
scsi_tgt.h [SCSI] scsi tgt: scsi target lib functionality 2006-11-25 13:17:18 -06:00
scsi_transport_fc.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
scsi_transport_iscsi.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
scsi_transport_sas.h [SCSI] libsas: Clean up discovery failure handler code 2007-01-27 10:05:15 -06:00
scsi_transport_spi.h [SCSI] SPI transport class: misc DV fixes 2006-09-23 20:53:53 -05:00
scsi_transport.h [PATCH] move ->eh_strategy_handler to the transport class 2006-04-10 14:15:47 -04:00
scsi.h [SCSI] replace u8 and u32 with __u8 and __u32 in scsi.h for user space 2006-10-25 15:14:34 -07:00
scsicam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sg.h [SCSI] sg: fixes for large page_size 2006-09-26 09:23:15 -07:00
srp.h [SCSI] srp.h: Add I/O Class values 2006-06-17 20:37:38 -07:00