aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-07-26 12:46:45 -0500
committerJames Bottomley <jejb@mulgrave.localdomain>2007-07-27 09:11:14 -0400
commit464bb99ea448dc2f017be9150a8be9ab1f021979 (patch)
tree02639d08940609bfbb729d9da1e5bce1dddf7a48
parent1d1bbee61e4ecdaad450e9bf4d9983876ed53a43 (diff)
downloadkernel_samsung_smdk4412-464bb99ea448dc2f017be9150a8be9ab1f021979.zip
kernel_samsung_smdk4412-464bb99ea448dc2f017be9150a8be9ab1f021979.tar.gz
kernel_samsung_smdk4412-464bb99ea448dc2f017be9150a8be9ab1f021979.tar.bz2
[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>
-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 4d85ce1..271a2d6 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)
struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
struct module *owner = cls_session->transport->owner;
+ iscsi_unblock_session(cls_session);
scsi_remove_host(shost);
iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);