diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2006-04-06 22:13:33 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-04-14 15:02:43 -0400 |
commit | b5c7a12dc29ae0990d9e867749bdd717a3160325 (patch) | |
tree | 66bb4b7fd02e5a8a89f385aadf80a666ac941fbe /drivers/scsi/iscsi_tcp.c | |
parent | 13f7e5acc8b329080672c13f05f252ace5b79825 (diff) |
[SCSI] iscsi: rm kernel iscsi handles usage for session and connection
from hare@suse.de and michaelc@cs.wisc.edu
hw iscsi like qla4xxx does not allocate a host per session and
for userspace it is difficult to restart iscsid using the
"iscsi handles" for the session and connection, so this
patch just has the class or userspace allocate the id for
the session and connection.
Note: this breaks userspace and requires users to upgrade to the newest
open-iscsi tools. Sorry about his but open-iscsi is still too new to
say we have a stable user-kernel api and we were not good nough
designers to know that other hw iscsi drivers and iscsid itself would
need such changes. Actually we sorta did but at the time we did not
have the HW available to us so we could only guess.
Luckily, the only tools hooking into the class are the open-iscsi ones
or other tools like iscsitart hook into the open-iscsi engine from
userspace or prgroams like anaconda call our tools so they are not affected.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r-- | drivers/scsi/iscsi_tcp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 2068b66822b7..6ecb4baa37e2 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
@@ -3254,7 +3254,7 @@ static struct iscsi_transport iscsi_tcp_transport; | |||
3254 | 3254 | ||
3255 | static struct iscsi_cls_session * | 3255 | static struct iscsi_cls_session * |
3256 | iscsi_session_create(struct scsi_transport_template *scsit, | 3256 | iscsi_session_create(struct scsi_transport_template *scsit, |
3257 | uint32_t initial_cmdsn, uint32_t *sid) | 3257 | uint32_t initial_cmdsn, uint32_t *hostno) |
3258 | { | 3258 | { |
3259 | struct Scsi_Host *shost; | 3259 | struct Scsi_Host *shost; |
3260 | struct iscsi_session *session; | 3260 | struct iscsi_session *session; |
@@ -3274,7 +3274,8 @@ iscsi_session_create(struct scsi_transport_template *scsit, | |||
3274 | session->exp_cmdsn = initial_cmdsn + 1; | 3274 | session->exp_cmdsn = initial_cmdsn + 1; |
3275 | session->max_cmdsn = initial_cmdsn + 1; | 3275 | session->max_cmdsn = initial_cmdsn + 1; |
3276 | session->max_r2t = 1; | 3276 | session->max_r2t = 1; |
3277 | *sid = shost->host_no; | 3277 | |
3278 | *hostno = shost->host_no; | ||
3278 | 3279 | ||
3279 | /* initialize SCSI PDU commands pool */ | 3280 | /* initialize SCSI PDU commands pool */ |
3280 | if (iscsi_pool_init(&session->cmdpool, session->cmds_max, | 3281 | if (iscsi_pool_init(&session->cmdpool, session->cmds_max, |