aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libiscsi.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-07-26 13:46:45 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-07-27 09:11:14 -0400
commit464bb99ea448dc2f017be9150a8be9ab1f021979 (patch)
tree02639d08940609bfbb729d9da1e5bce1dddf7a48 /drivers/scsi/libiscsi.c
parent1d1bbee61e4ecdaad450e9bf4d9983876ed53a43 (diff)
[SCSI] libiscsi: make sure session is not blocked when removing host
When we logout we block the session since we are not taking any more commands, but when we call remove host we want to make sure any IO that got queued up and blocked gets failed upwards quickly, so we unblock the session and fail it. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r--drivers/scsi/libiscsi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 4d85ce100192..271a2d671b89 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1473,6 +1473,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
1473 struct iscsi_session *session = iscsi_hostdata(shost->hostdata); 1473 struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
1474 struct module *owner = cls_session->transport->owner; 1474 struct module *owner = cls_session->transport->owner;
1475 1475
1476 iscsi_unblock_session(cls_session);
1476 scsi_remove_host(shost); 1477 scsi_remove_host(shost);
1477 1478
1478 iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds); 1479 iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);