diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2011-02-16 22:04:37 +0100 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-02-24 18:41:12 +0100 |
commit | 289324b0c6007171d67bf1ab0827355ae3374773 (patch) | |
tree | 6a6af0500e8acab0455d7b0d2391b0096f94b4f7 /include/scsi | |
parent | [SCSI] iscsi_tcp: use iscsi_conn_get_addr_param libiscsi function (diff) | |
download | linux-289324b0c6007171d67bf1ab0827355ae3374773.tar.xz linux-289324b0c6007171d67bf1ab0827355ae3374773.zip |
[SCSI] iscsi class: add callout to get iscsi_endpoint values
For drivers using the ep callbacks the addr and port
are attached to the endpoint instead of the conn.
This adds a callout to the iscsi_transport to get
ep values. It also adds locking around the get
param call to make sure that ep_disconnect does
not free the LLD's ep interconnect structs from
under us (the ep has a refcount so it will not
go away but the LLD may have structs from other
subsystems that are not allocated in the ep so
we need to protect them from getting freed).
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h index 00e5bf7c9de6..bf8f52965675 100644 --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h @@ -101,6 +101,8 @@ struct iscsi_transport { void (*destroy_conn) (struct iscsi_cls_conn *conn); int (*set_param) (struct iscsi_cls_conn *conn, enum iscsi_param param, char *buf, int buflen); + int (*get_ep_param) (struct iscsi_endpoint *ep, enum iscsi_param param, + char *buf); int (*get_conn_param) (struct iscsi_cls_conn *conn, enum iscsi_param param, char *buf); int (*get_session_param) (struct iscsi_cls_session *session, |