diff options
| author | Bart Van Assche <bvanassche@acm.org> | 2011-09-16 14:41:13 -0400 |
|---|---|---|
| committer | Roland Dreier <roland@purestorage.com> | 2012-11-30 20:40:33 -0500 |
| commit | dc1bdbd9b8a077018d82230bc378f1bcfd8adba8 (patch) | |
| tree | e6484d9d378a0bad8a4f7057ae29d4164b33278e /include/scsi | |
| parent | 7e1265bfe75f0ef1a9f5cfde202df68b7e35a53f (diff) | |
IB/srp: Allow SRP disconnect through sysfs
Make it possible to disconnect the IB RC connection used by the SRP
protocol to communicate with a target.
Have the SRP transport layer create a sysfs "delete" attribute for
initiator drivers that support this functionality.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: David Dillow <dillowda@ornl.gov>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/scsi')
| -rw-r--r-- | include/scsi/scsi_transport_srp.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_srp.h b/include/scsi/scsi_transport_srp.h index 9c60ca1c08c5..ff0f04ac91aa 100644 --- a/include/scsi/scsi_transport_srp.h +++ b/include/scsi/scsi_transport_srp.h | |||
| @@ -14,13 +14,21 @@ struct srp_rport_identifiers { | |||
| 14 | }; | 14 | }; |
| 15 | 15 | ||
| 16 | struct srp_rport { | 16 | struct srp_rport { |
| 17 | /* for initiator and target drivers */ | ||
| 18 | |||
| 17 | struct device dev; | 19 | struct device dev; |
| 18 | 20 | ||
| 19 | u8 port_id[16]; | 21 | u8 port_id[16]; |
| 20 | u8 roles; | 22 | u8 roles; |
| 23 | |||
| 24 | /* for initiator drivers */ | ||
| 25 | |||
| 26 | void *lld_data; /* LLD private data */ | ||
| 21 | }; | 27 | }; |
| 22 | 28 | ||
| 23 | struct srp_function_template { | 29 | struct srp_function_template { |
| 30 | /* for initiator drivers */ | ||
| 31 | void (*rport_delete)(struct srp_rport *rport); | ||
| 24 | /* for target drivers */ | 32 | /* for target drivers */ |
| 25 | int (* tsk_mgmt_response)(struct Scsi_Host *, u64, u64, int); | 33 | int (* tsk_mgmt_response)(struct Scsi_Host *, u64, u64, int); |
| 26 | int (* it_nexus_response)(struct Scsi_Host *, u64, int); | 34 | int (* it_nexus_response)(struct Scsi_Host *, u64, int); |
