diff options
author | Jayamohan Kallickal <jayamohank@serverengines.com> | 2009-09-21 22:51:22 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-10-02 15:01:39 -0400 |
commit | b8b9e1b8128d8854cf55740f9ceba3010143520d (patch) | |
tree | b4043ea1ac0d8bd8602628fcb48ffac7ffe8bdbf /drivers/scsi/libiscsi.c | |
parent | 6733b39a1301b0b020bbcbf3295852e93e624cb1 (diff) |
[SCSI] libiscsi: iscsi_session_setup to allow for private space
This patch contains changes that allow iscsi_session_setup
to allocate private space for LLD's
Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Acked-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r-- | drivers/scsi/libiscsi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index 8dc73c489a17..f1a4246f890c 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
@@ -2436,7 +2436,7 @@ static void iscsi_host_dec_session_cnt(struct Scsi_Host *shost) | |||
2436 | */ | 2436 | */ |
2437 | struct iscsi_cls_session * | 2437 | struct iscsi_cls_session * |
2438 | iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | 2438 | iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, |
2439 | uint16_t cmds_max, int cmd_task_size, | 2439 | uint16_t cmds_max, int dd_size, int cmd_task_size, |
2440 | uint32_t initial_cmdsn, unsigned int id) | 2440 | uint32_t initial_cmdsn, unsigned int id) |
2441 | { | 2441 | { |
2442 | struct iscsi_host *ihost = shost_priv(shost); | 2442 | struct iscsi_host *ihost = shost_priv(shost); |
@@ -2486,7 +2486,8 @@ iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | |||
2486 | scsi_cmds = total_cmds - ISCSI_MGMT_CMDS_MAX; | 2486 | scsi_cmds = total_cmds - ISCSI_MGMT_CMDS_MAX; |
2487 | 2487 | ||
2488 | cls_session = iscsi_alloc_session(shost, iscsit, | 2488 | cls_session = iscsi_alloc_session(shost, iscsit, |
2489 | sizeof(struct iscsi_session)); | 2489 | sizeof(struct iscsi_session) + |
2490 | dd_size); | ||
2490 | if (!cls_session) | 2491 | if (!cls_session) |
2491 | goto dec_session_count; | 2492 | goto dec_session_count; |
2492 | session = cls_session->dd_data; | 2493 | session = cls_session->dd_data; |
@@ -2503,6 +2504,7 @@ iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | |||
2503 | session->max_cmdsn = initial_cmdsn + 1; | 2504 | session->max_cmdsn = initial_cmdsn + 1; |
2504 | session->max_r2t = 1; | 2505 | session->max_r2t = 1; |
2505 | session->tt = iscsit; | 2506 | session->tt = iscsit; |
2507 | session->dd_data = cls_session->dd_data + sizeof(*session); | ||
2506 | mutex_init(&session->eh_mutex); | 2508 | mutex_init(&session->eh_mutex); |
2507 | spin_lock_init(&session->lock); | 2509 | spin_lock_init(&session->lock); |
2508 | 2510 | ||